-
Notifications
You must be signed in to change notification settings - Fork 25.5k
Remove Transfer-Encoding from HTTP request with no content #133775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Pinging @elastic/es-distributed-coordination (Team:Distributed Coordination) |
Hi @mhl-b, I've created a changelog YAML for you. |
…ch into empty-chunked-encoding
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Also deserves a backport to 9.1 since we're considering it a bug. I don't think it affects 8.19 tho, we did not apply the streaming bulk request changes there.
💚 Backport successful
|
Currently we assume when
Transfer-Encoding: chunked
there is non-zero payload. It appears not always true, #133408.This PR ensures that
Transfer-Encoding: chunked
always has content by removing encoding from empty payload. When we receive HTTP request we look at the encoding, if it's chunked then we wait for the first chunk to see if it's empty. If that's the case we remove encoding and process request as non-chunked.