mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Don't automatically compress when response has etag
In the cowboy_compress_h stream handler. Otherwise this could cause issues with caching, with the etag being the same for compressed/uncompressed content. Users that wish to send etags AND compress will have to do it manually for the time being.
This commit is contained in:
parent
67df6fedae
commit
5b2f600036
4 changed files with 31 additions and 1 deletions
|
@ -109,6 +109,17 @@ gzip_reply_content_encoding(Config) ->
|
|||
{_, <<"100000">>} = lists:keyfind(<<"content-length">>, 1, Headers),
|
||||
ok.
|
||||
|
||||
gzip_reply_etag(Config) ->
|
||||
doc("Reply with etag header; get an uncompressed response."),
|
||||
{200, Headers, _} = do_get("/reply/etag",
|
||||
[{<<"accept-encoding">>, <<"gzip">>}], Config),
|
||||
%% We set a strong etag.
|
||||
{_, <<"\"STRONK\"">>} = lists:keyfind(<<"etag">>, 1, Headers),
|
||||
%% The reply didn't include a vary header.
|
||||
false = lists:keyfind(<<"vary">>, 1, Headers),
|
||||
{_, <<"100000">>} = lists:keyfind(<<"content-length">>, 1, Headers),
|
||||
ok.
|
||||
|
||||
gzip_reply_large_body(Config) ->
|
||||
doc("Reply a large body; get a gzipped response."),
|
||||
{200, Headers, GzBody} = do_get("/reply/large",
|
||||
|
@ -174,6 +185,15 @@ gzip_stream_reply_content_encoding(Config) ->
|
|||
100000 = iolist_size(Body),
|
||||
ok.
|
||||
|
||||
gzip_stream_reply_etag(Config) ->
|
||||
doc("Stream reply with etag header; get an uncompressed response."),
|
||||
{200, Headers, Body} = do_get("/stream_reply/etag",
|
||||
[{<<"accept-encoding">>, <<"gzip">>}], Config),
|
||||
{_, <<"\"STRONK\"">>} = lists:keyfind(<<"etag">>, 1, Headers),
|
||||
false = lists:keyfind(<<"vary">>, 1, Headers),
|
||||
100000 = iolist_size(Body),
|
||||
ok.
|
||||
|
||||
opts_compress_buffering_false(Config0) ->
|
||||
doc("Confirm that the compress_buffering option can be set to false, "
|
||||
"which is the default."),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue