Prevent FilteredCompressHandler from compressing an already compressed response#5337
Closed
syeopite wants to merge 1 commit intoiv-org:masterfrom
Closed
Prevent FilteredCompressHandler from compressing an already compressed response#5337syeopite wants to merge 1 commit intoiv-org:masterfrom
FilteredCompressHandler from compressing an already compressed response#5337syeopite wants to merge 1 commit intoiv-org:masterfrom
Conversation
This changes its behavior to align with the stdlib variant in that compression is now delayed till the moment that the server begins to send a response. This allows the handler to avoid compressing empty responses,and safeguards against any double compression of content that may occur if another handler decides to compressi ts response. This does however come at the drawback(?) of it now removing `content-length` headers on requests if it exists; since compression makes the value inaccurate anyway. See: crystal-lang/crystal#9625
syeopite
commented
Jun 4, 2025
Comment on lines
65
to
66
| exclude ["/videoplayback", "/videoplayback/*", "/vi/*", "/sb/*", "/ggpht/*", "/api/v1/auth/notifications"] | ||
| exclude ["/api/v1/auth/notifications", "/data_control"], "POST" |
Member
Author
There was a problem hiding this comment.
Its pretty weird that we're excluding the notification streams endpoints and /data_control from having their responses compressed
FilteredCompressHandler to inherit from stdlibFilteredCompressHandler from compressing an already compressed response
4 tasks
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.
This changes its behavior to align with the stdlib variant in that compression is now delayed till the moment that the server begins to send a response.
This allows the handler to avoid compressing empty responses,and safeguards against any double compression of content that may occur if another handler decides to compressi ts response.
This does however come at the drawback(?) of it now removing
content-lengthheaders on requests if it exists; since compression makes the value inaccurate anyway.See: crystal-lang/crystal#9625