Skip to content

feat: Use the top-level URI and HTTP options in the data source builders - #494

Open
keelerm84 wants to merge 2 commits into
mk/SDK-3530/drop-v2-suffixfrom
mk/SDK-3538/http-options
Open

keelerm84 wants to merge 2 commits into
mk/SDK-3530/drop-v2-suffixfrom
mk/SDK-3538/http-options

Conversation

@keelerm84

@keelerm84 keelerm84 commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

The polling, streaming and FDv1 fallback builders now take their base
URI, socket factory, read timeout and connect timeout from Config when
the builder does not set them. Config gets base_uri and stream_uri back
as the default URIs for the polling and streaming data sources. A value
set on a builder overrides the Config value.

Before this change, the builders ignored the top-level read_timeout,
connect_timeout and socket_factory, and a Relay Proxy user had to
rebuild the default data system with DataSystem.custom to set the URIs.
A v8 configuration that sets base_uri, stream_uri and events_uri for a
Relay Proxy instance now works without change.


Note

Overview
Reintroduces base_uri and stream_uri on LaunchDarkly::Config (with defaults and trailing-slash normalization) so Relay Proxy and similar setups can set polling, streaming, and events endpoints at the top level again—without rebuilding the data system via DataSystem.custom.

Polling, FDv1 polling, and streaming builders now build HttpConfigOptions from the SDK config when they do not set a value: polling uses config.base_uri, streaming uses config.stream_uri, and all three inherit socket_factory, read_timeout, and connect_timeout from Config. Builder-level settings still override the config.

Docs add a Relay Proxy example; specs cover config defaults and the config vs builder precedence for HTTP options.

Reviewed by Cursor Bugbot for commit 3b16100. Bugbot is set up for automated code reviews on this repo. Configure here.

The polling, streaming and FDv1 fallback builders now take their base
URI, socket factory, read timeout and connect timeout from Config when
the builder does not set them. Config gets base_uri and stream_uri back
as the default URIs for the polling and streaming data sources. A value
set on a builder overrides the Config value.

Before this change, the builders ignored the top-level read_timeout,
connect_timeout and socket_factory, and a Relay Proxy user had to
rebuild the default data system with DataSystem.custom to set the URIs.
A v8 configuration that sets base_uri, stream_uri and events_uri for a
Relay Proxy instance now works without change.
@keelerm84
keelerm84 requested a review from a team as a code owner November 10, 2026 20:21

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant