Skip to content

Simplify HTTP header name handling to HeaderName#1125

Merged
mtdowling merged 1 commit intomainfrom
header-canonicalization
Apr 1, 2026
Merged

Simplify HTTP header name handling to HeaderName#1125
mtdowling merged 1 commit intomainfrom
header-canonicalization

Conversation

@mtdowling
Copy link
Copy Markdown
Member

HeaderName is now a new way to make pre-canned canonicalized HTTP header names that can skip canonicalization when added/queried on messages or headers. Using these constants removes the need to do the fancy prefix tree scanning since that's now just for reading from external headers like Java HTTP client's. We are now also generating the bucketed GROUPS automatically rather than by hand.

Performance between this version and the previous version that used the switch statements is the same.

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

HeaderName is now a new way to make pre-canned canonicalized HTTP header
names that can skip canonicalization when added/queried on messages or
headers. Using these constants removes the need to do the fancy
prefix tree scanning since that's now just for reading from external
headers like Java HTTP client's. We are now also generating the
bucketed GROUPS automatically rather than by hand.

Performance between this version and the previous version that used
the switch statements is the same.
@mtdowling mtdowling merged commit 60ff28c into main Apr 1, 2026
4 checks passed
@mtdowling mtdowling deleted the header-canonicalization branch April 1, 2026 19:05
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.

3 participants