Skip to content

Commit 5a479d4

Browse files
committed
fix: derive FDv1 fallback polling URL from synchronizers when fdv1Fallback omits baseUri
1 parent 6190fe3 commit 5a479d4

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

contract-tests/server-contract-tests/src/entity_manager.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,24 @@ config::builders::DataSystemBuilder::FDv2 BuildFDv2(
6363
if (cfg.fdv1Fallback) {
6464
if (cfg.fdv1Fallback->baseUri) {
6565
endpoints->PollingBaseUrl(*cfg.fdv1Fallback->baseUri);
66+
} else if (cfg.synchronizers && !cfg.synchronizers->empty()) {
67+
// No explicit baseUri: derive from the synchronizers list, matching
68+
// the no-fdv1Fallback branch below.
69+
ConfigDataSynchronizerParams const* selected = nullptr;
70+
for (auto const& sync : *cfg.synchronizers) {
71+
if (sync.polling) {
72+
selected = &sync;
73+
break;
74+
}
75+
}
76+
if (!selected) {
77+
selected = &cfg.synchronizers->front();
78+
}
79+
if (selected->polling && selected->polling->baseUri) {
80+
endpoints->PollingBaseUrl(*selected->polling->baseUri);
81+
} else if (selected->streaming && selected->streaming->baseUri) {
82+
endpoints->PollingBaseUrl(*selected->streaming->baseUri);
83+
}
6684
}
6785
FDv2Builder::FDv1Polling p;
6886
if (cfg.fdv1Fallback->pollIntervalMs) {

0 commit comments

Comments
 (0)