Skip to content

Deserialize header parameters regardless of casing - #490

Merged
geemus merged 1 commit into
masterfrom
fix-header-parameter-case
Oct 17, 2026
Merged

geemus merged 1 commit into
masterfrom
fix-header-parameter-case

Conversation

@ydah

@ydah ydah commented Oct 10, 2026

Copy link
Copy Markdown
Member

Rack exposes X-Ids: 1,2 as X-IDS, while parameter deserialization looks up the schema name with exact casing. An OpenAPI 3 array header named X-Ids is therefore left as a string and rejected with a 400 response.

Match header names case-insensitively before deserialization. Add request-level regression coverage for array headers and a unit test for object headers, unknown headers, and the original input hash.

@geemus geemus left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm.

Case-insensitive headers cause so many problems! Thanks for the fix.

@geemus
geemus merged commit 893cb39 into master Oct 17, 2026
9 checks passed
@geemus
geemus deleted the fix-header-parameter-case branch October 17, 2026 15:29
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.

2 participants