[Core] Add Compression middleware #9207
Draft
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 adds support to LORIS for optionally compressing the response to the client if the
Accept-Encoding
header includes support for gzip using a new PSR-15 middleware. In this pull request the middleware is added for any data framework menu which uses theformat=binary
parameter and it used for the new data query tool results.This can significantly improve the loading time of large datasets. For instance, when combined with PR#9195 on the UK biobank the size of the result downloaded from the candidate_list is reduced from 47.48MB to 7.45MB according to the Firefox dev tools and there are similar reductions in the transferred size for data query results with arbitrary queries.