Skip sending body and Content-Length
for responses with no body
#51
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This changeset ensures we explicitly skip any response body when the response body MUST be empty, such as for
HEAD
requests,204 No Content
and304 Not Modified
. Likewise, any streaming response body will be closed immediately in this case.On top of this, X now ensures that
204 No Content
response never contains aContent-Length
response header and304 Not Modified
respects any explicitContent-Length
header.Builds on top of #50 and #48
Builds on top of reactphp/http#429 and reactphp/http#430
Refs tornadoweb/tornado#1736 and ninenines/cowboy#1153