Skip to content

TE "trailers" header incorrectly stripped from HTTP/2 requests #1642

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
okready opened this issue Aug 25, 2018 · 1 comment
Closed

TE "trailers" header incorrectly stripped from HTTP/2 requests #1642

okready opened this issue Aug 25, 2018 · 1 comment
Labels
A-http2 Area: HTTP/2 specific. C-bug Category: bug. Something is wrong. This is bad! E-easy Effort: easy. A task that would be a great starting point for a new contributor.

Comments

@okready
Copy link
Contributor

okready commented Aug 25, 2018

According to the HTTP/2 spec (https://http2.github.io/http2-spec/#rfc.section.8.1.2.2), connection-specific headers are not supposed to be in HTTP/2 messages, but a TE header is allowed for request messages as long as it only contains the value "trailers". hyper currently strips all connection-specific headers, including TE, regardless of whether the header is a TE "trailers" header belonging to an HTTP/2 request.

@seanmonstar
Copy link
Member

Yep, looks like hyper is being too eager here.

@seanmonstar seanmonstar added C-bug Category: bug. Something is wrong. This is bad! E-easy Effort: easy. A task that would be a great starting point for a new contributor. A-http2 Area: HTTP/2 specific. labels Aug 25, 2018
seanmonstar pushed a commit that referenced this issue Aug 27, 2018
The HTTP/2 spec allows TE headers in requests if the value is
"trailers". Other TE headers are still stripped.

Closes #1642
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-http2 Area: HTTP/2 specific. C-bug Category: bug. Something is wrong. This is bad! E-easy Effort: easy. A task that would be a great starting point for a new contributor.
Projects
None yet
Development

No branches or pull requests

2 participants