diff options
-rw-r--r-- | src/couchdb/couch_httpd_db.erl | 4 | ||||
-rwxr-xr-x | test/etap/140-attachment-comp.t | 16 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/couchdb/couch_httpd_db.erl b/src/couchdb/couch_httpd_db.erl index 85c439ba..0b8f891b 100644 --- a/src/couchdb/couch_httpd_db.erl +++ b/src/couchdb/couch_httpd_db.erl @@ -956,7 +956,9 @@ db_attachment_req(#httpd{method='GET',mochi_req=MochiReq}=Req, Db, DocId, FileNa {"Cache-Control", "must-revalidate"}, {"Content-Type", binary_to_list(Type)} ] ++ case ReqAcceptsAttEnc of - true -> + true when Enc =/= identity -> + % RFC 2616 says that the 'identify' encoding should not be used in + % the Content-Encoding header [{"Content-Encoding", atom_to_list(Enc)}]; _ -> [] diff --git a/test/etap/140-attachment-comp.t b/test/etap/140-attachment-comp.t index bf1b21c4..abe98432 100755 --- a/test/etap/140-attachment-comp.t +++ b/test/etap/140-attachment-comp.t @@ -19,7 +19,7 @@ test_db_name() -> main(_) -> test_util:init_code_path(), - etap:plan(86), + etap:plan(85), case (catch test()) of ok -> etap:end_tests(); @@ -254,8 +254,8 @@ test_get_1st_png_att_without_accept_encoding_header() -> [], [{sync, true}]), etap:is(Code, 200, "HTTP response code is 200"), - Gziped = lists:member({"content-encoding", "gzip"}, Headers), - etap:is(Gziped, false, "received body is not gziped"), + Encoding = couch_util:get_value("content-encoding", Headers), + etap:is(Encoding, undefined, "received body is not gziped"), etap:is( Body, test_png_data(), @@ -270,8 +270,8 @@ test_get_1st_png_att_with_accept_encoding_gzip() -> [], [{sync, true}]), etap:is(Code, 200, "HTTP response code is 200"), - Gziped = lists:member({"content-encoding", "gzip"}, Headers), - etap:is(Gziped, false, "received body is not gziped"), + Encoding = couch_util:get_value("content-encoding", Headers), + etap:is(Encoding, undefined, "received body is not gziped"), etap:is( Body, test_png_data(), @@ -286,10 +286,8 @@ test_get_1st_png_att_with_accept_encoding_deflate() -> [], [{sync, true}]), etap:is(Code, 200, "HTTP response code is 200"), - Deflated = lists:member({"content-encoding", "deflate"}, Headers), - etap:is(Deflated, false, "received body is not deflated"), - Gziped = lists:member({"content-encoding", "gzip"}, Headers), - etap:is(Gziped, false, "received body is not gziped"), + Encoding = couch_util:get_value("content-encoding", Headers), + etap:is(Encoding, undefined, "received body is in identity form"), etap:is( Body, test_png_data(), |