diff options
author | Marcos Ferreira <[email protected]> | 2019-12-23 22:31:47 -0300 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2019-12-31 13:48:05 +0100 |
commit | 3b85b808ae3cc48d19b71b72869ee59c25e70b00 (patch) | |
tree | 19d7fd58dbd3db97f1cdcc4653c179f4a8125ef3 /src | |
parent | aa1a7d09f345f0038d6769bc13eb8c0544af6475 (diff) | |
download | cowboy-3b85b808ae3cc48d19b71b72869ee59c25e70b00.tar.gz cowboy-3b85b808ae3cc48d19b71b72869ee59c25e70b00.tar.bz2 cowboy-3b85b808ae3cc48d19b71b72869ee59c25e70b00.zip |
Ignore malformed accept-encoding headers in cowboy_compress_h
Diffstat (limited to 'src')
-rw-r--r-- | src/cowboy_compress_h.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/cowboy_compress_h.erl b/src/cowboy_compress_h.erl index e9824ba..374cb6a 100644 --- a/src/cowboy_compress_h.erl +++ b/src/cowboy_compress_h.erl @@ -71,9 +71,10 @@ early_error(StreamID, Reason, PartialReq, Resp, Opts) -> %% Internal. %% Check if the client supports decoding of gzip responses. +%% +%% A malformed accept-encoding header is ignored (no compression). check_req(Req) -> - %% @todo Probably shouldn't unconditionally crash on failure. - case cowboy_req:parse_header(<<"accept-encoding">>, Req) of + try cowboy_req:parse_header(<<"accept-encoding">>, Req) of %% Client doesn't support any compression algorithm. undefined -> #state{compress=undefined}; @@ -87,6 +88,9 @@ check_req(Req) -> _ -> #state{compress=gzip} end + catch + _:_ -> + #state{compress=undefined} end. %% Do not compress responses that contain the content-encoding header. |