summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/couchdb/couch_httpd_db.erl4
-rwxr-xr-xtest/etap/140-attachment-comp.t16
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(),