diff options
author | Damien F. Katz <damien@apache.org> | 2009-11-14 01:14:59 +0000 |
---|---|---|
committer | Damien F. Katz <damien@apache.org> | 2009-11-14 01:14:59 +0000 |
commit | 4faf660a4dfe5849fae96ea7eb15379069c27405 (patch) | |
tree | 5adf3ed3d9b8b3810d0f0c60eaa9ead2a6e3b303 /src/couchdb/couch_httpd_db.erl | |
parent | 1d5b30b916dbfb25e28d3c9a2e9d97da0bac0dff (diff) |
Better testing of multipart/related
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@836087 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/couchdb/couch_httpd_db.erl')
-rw-r--r-- | src/couchdb/couch_httpd_db.erl | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/couchdb/couch_httpd_db.erl b/src/couchdb/couch_httpd_db.erl index 7be10d42..4138db7d 100644 --- a/src/couchdb/couch_httpd_db.erl +++ b/src/couchdb/couch_httpd_db.erl @@ -784,7 +784,7 @@ db_doc_req(#httpd{method='PUT'}=Req, Db, DocId) -> Loc = absolute_uri(Req, "/" ++ ?b2l(Db#db.name) ++ "/" ++ ?b2l(DocId)), RespHeaders = [{"Location", Loc}], - case couch_httpd:header_value(Req, "content-type") of + case couch_httpd:header_value(Req, "Content-Type") of ("multipart/related" ++ _Rest) = ContentType-> Doc0 = couch_doc:doc_from_multi_part_stream(ContentType, fun() -> receive_request_data(Req) end), @@ -869,18 +869,18 @@ send_doc_efficiently(Req, #doc{atts=Atts}=Doc, Headers, Options) -> undefined -> []; AcceptHeader -> string:tokens(AcceptHeader, ", ") end, - case lists:member(AcceptedTypes, "multipart/related") of + case lists:member("multipart/related", AcceptedTypes) of false -> send_json(Req, 200, [], couch_doc:to_json_obj(Doc, Options)); true -> Boundary = couch_uuids:random(), - JsonBytes = ?JSON_ENCODE(couch_doc:to_json_obj(Doc, Options)), + JsonBytes = ?JSON_ENCODE(couch_doc:to_json_obj(Doc, [follows|Options])), AttsSinceRevPos = proplists:get_value(atts_after_revpos, Options, 0), Len = couch_doc:len_doc_to_multi_part_stream(Boundary,JsonBytes,Atts, AttsSinceRevPos), - CType = {<<"content-type">>, - <<"multipart/related; boundary=", Boundary/binary>>}, - Resp = start_response_length(Req, 200, [CType | Headers], Len), + CType = {<<"Content-Type">>, + <<"multipart/related; boundary=\"", Boundary/binary, "\"">>}, + {ok, Resp} = start_response_length(Req, 200, [CType|Headers], Len), couch_doc:doc_to_multi_part_stream(Boundary,JsonBytes,Atts, AttsSinceRevPos, fun(Data) -> couch_httpd:send(Resp, Data) end) |