aboutsummaryrefslogtreecommitdiffstats
path: root/ebin
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2024-01-04 15:15:41 +0100
committerLoïc Hoguin <[email protected]>2024-01-04 15:50:12 +0100
commitfd9711d9495e4ddcd41eda7a284dfc7f37c11f15 (patch)
tree887d4f6569b7bf06ee584ad50b2fe9647b7394c6 /ebin
parent3ed1b24dd6ef6cd3e78a2fa6d600cce082b6984a (diff)
downloadcowboy-fd9711d9495e4ddcd41eda7a284dfc7f37c11f15.tar.gz
cowboy-fd9711d9495e4ddcd41eda7a284dfc7f37c11f15.tar.bz2
cowboy-fd9711d9495e4ddcd41eda7a284dfc7f37c11f15.zip
Rework and improve the decompress stream handler
The read buffer was changed into an iovec to avoid doing too many binary concatenations and allocations. Decompression happens transparently: when decoding gzip, the content-encoding header is removed (we only decode when "gzip" is the only encoding so nothing remains). We always add a content_decoded key to the Req object. This key contains a list of codings that were decoded, in the reverse order in which they were. Currently it can only be empty or contain <<"gzip">> but future improvements or user handlers may see it contain more values. The option to disable decompression was renamed to decompress_enabled and defaults to true. It is no longer possible to enable/disable decompression in the middle of reading the body: this ensures that the data we pass forward is always valid. Various smaller improvements were made to the code, tests and manual pages.
Diffstat (limited to 'ebin')
0 files changed, 0 insertions, 0 deletions