SIGN IN SIGN UP

fix(client): merge HTTP headers case-insensitively (#3486)

HTTP header names are case-insensitive, but differently cased overrides
currently leave duplicate values, and `Omit()` can fail to remove an
earlier value. Merge HTTP headers case-insensitively so later values
replace earlier ones and explicit removal respects casing.

The change is limited to HTTP header merging, with one parametrized
regression test covering default overrides, per-request overrides, and
removal for sync and async clients.

Validation: 807 tests passed across client, authentication, Azure,
Bedrock, redirect, and HTTPX compatibility coverage; focused Pydantic v1
checks, Ruff, Pyright, mypy, and the custom-code budget passed.

Co-authored-by: Marcus Wood <marcuswood@openai.com>
M
Minh Vu committed
5e39766dd7ba2802c97f5305721a621098cf0e38
Parent: ead1fa2
Committed by GitHub <noreply@github.com> on 9/23/2026, 5:16:28 PM