Merged
Conversation
After using httpsnoop to preserve interfaces, the compress response writer now implemented ReaderFrom. ReaderFrom is used by net/http to use sendfile when serving *os.Files. This breaks compression because it serves directly to the underlying response writer, skipping the compressor. Fix by implementing ReadFrom on our resposne writer to copy to our compressor. Fixes gorilla#194.
41705aa to
0cf2138
Compare
elithrar
approved these changes
Aug 31, 2020
Contributor
elithrar
left a comment
There was a problem hiding this comment.
Thanks a lot for this - LGTM.
elithrar
approved these changes
Aug 31, 2020
Contributor
elithrar
left a comment
There was a problem hiding this comment.
Thanks a lot for this - LGTM.
| // Make sure we can compress and serve an *os.File properly. We need | ||
| // to use a real http server to trigger the net/http sendfile special | ||
| // case. | ||
| func TestCompressFile(t *testing.T) { |
Seems, after reading through the httpsnoop README, that using it is not as straightforward as advertised ;) Thank you for the quick turn-around time! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
After using httpsnoop to preserve interfaces, the compress response
writer now implemented ReaderFrom. ReaderFrom is used by net/http to
use sendfile when serving *os.Files. This breaks compression because
it serves directly to the underlying response writer, skipping the
compressor. Fix by implementing ReadFrom on our resposne writer to
copy to our compressor.
Fixes #194.