Skip to content

chore: remove http options - #475

Open
alexanto wants to merge 3 commits into
feat/async-transportfrom
chore/remove-http-options
Open

alexanto wants to merge 3 commits into
feat/async-transportfrom
chore/remove-http-options

Conversation

@alexanto

@alexanto alexanto commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

removes http options since they no longer make sense, whatever they can do, should be done with the transport option

@alexanto
alexanto changed the base branch from main to feat/public-sync-transport November 5, 2026 13:08
@alexanto
alexanto changed the base branch from feat/public-sync-transport to feat/async-transport November 5, 2026 13:09
@alexanto
alexanto added this pull request to stack #468 November 5, 2026 13:09
@gastonfournier gastonfournier moved this from New to In Progress in Issues and PRs Nov 6, 2026
@alexanto
alexanto force-pushed the chore/remove-http-options branch from bca2252 to 509255d Compare November 6, 2026 08:15
@alexanto
alexanto requested review from ppicom and a balanced review from Copilot November 6, 2026 09:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues remain for the move to transport-based HTTP configuration.

No open issues 🎉

What changed in this PR

This PR removes HttpOptions from the v7 SDK configuration, making transports the configuration point for HTTP behavior in synchronous and asynchronous clients.

Changes:

  • Removes http arguments, configuration fields, exports, and legacy request-option forwarding.
  • Defaults feature-fetch retries to three and fixes streaming connections to SDK headers and a 30-second timeout.
  • Updates tests and documentation for transport-based configuration and migration limitations.
File Description
v7_MIGRATION_GUIDE.md Explains transport-based migration and streaming limitations.
UnleashClient/​transport.py Removes legacy HTTP-option validation and request kwargs.
UnleashClient/​constants.py Removes the old retry constant.
UnleashClient/​connectors/​streaming_connector.py Removes custom request options from streaming.
UnleashClient/​config.py Removes HttpOptions and its configuration field.
UnleashClient/​clients/​unleash_client.py Removes http and sets the streaming timeout directly.
UnleashClient/​clients/​async_unleash_client.py Removes the async client’s http argument.
UnleashClient/​_unleash_api_client.py Uses default transport and retry settings.
UnleashClient/​_retry.py Introduces a default of three feature-fetch retries.
UnleashClient/​_headers.py Stops merging custom headers from configuration.
UnleashClient/​_async_unleash_api_client.py Uses default async transport and retry settings.
UnleashClient/​__init__.py Removes the HttpOptions export.
tests/​utilities/​testing_constants.py Removes obsolete HTTP test constants.
tests/​unit_tests/​test_unleash_api_client.py Removes legacy HTTP configuration and related assertions.
tests/​unit_tests/​test_transport.py Removes tests for deleted request-kwargs support.
tests/​unit_tests/​test_headers.py Removes configuration-based custom-header tests.
tests/​unit_tests/​test_config.py Adapts configuration tests to remaining option groups.
tests/​unit_tests/​test_async_unleash_api_client.py Configures timeout through an explicitly closed transport.
tests/​unit_tests/​connectors/​test_polling_connector.py Removes HTTP options from polling setup.
tests/​unit_tests/​connectors/​test_async_connector.py Uses a fixture to disable fetch retries.
tests/​unit_tests/​clients/​test_unleash_client.py Moves network timeout configuration to the transport.
tests/​unit_tests/​clients/​test_unleash_client_transport.py Updates rejected-transport validation tests.
tests/​unit_tests/​clients/​test_async_unleash_client.py Removes HTTP options and adopts the retry fixture.
tests/​unit_tests/​clients/​test_async_unleash_client_transport.py Updates async rejected-transport validation tests.
tests/​specification_tests/​test_async_client_specs.py Removes HTTP options from specification-test setup.
tests/​conftest.py Adds a fixture that disables feature-fetch retries.
README.md Updates configuration examples and transport limitations.
CHANGELOG.md Records the HTTP configuration breaking changes.

Review effort: Balanced

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

Status: In Progress

Development

Successfully merging this pull request may close these issues.

2 participants