Updated Branches: refs/heads/154-feature-gzip-post 899a91927 -> 3186e1604
Wrap decompression in a try/catch, report 400 COUCHDB-154 Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/3186e160 Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/3186e160 Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/3186e160 Branch: refs/heads/154-feature-gzip-post Commit: 3186e160458582b82a350baf5ca3a91eea07eb89 Parents: 899a919 Author: Adam Kocoloski <[email protected]> Authored: Sun Dec 15 15:38:10 2013 -0500 Committer: Adam Kocoloski <[email protected]> Committed: Sun Dec 15 15:40:54 2013 -0500 ---------------------------------------------------------------------- src/couchdb/couch_httpd.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb/blob/3186e160/src/couchdb/couch_httpd.erl ---------------------------------------------------------------------- diff --git a/src/couchdb/couch_httpd.erl b/src/couchdb/couch_httpd.erl index a370bd2..616c866 100644 --- a/src/couchdb/couch_httpd.erl +++ b/src/couchdb/couch_httpd.erl @@ -573,7 +573,11 @@ json_body_obj(Httpd) -> maybe_decompress(Httpd, Body) -> case header_value(Httpd, "Content-Encoding", "identity") of "gzip" -> - zlib:gunzip(Body); + try + zlib:gunzip(Body) + catch error:data_error -> + throw({bad_request, "Request body is not properly gzipped."}) + end; "identity" -> Body; Else ->
