Agreed. Sorry I didn't look carefully enough. I assumed it was in the _attachments stub.
On Wed, May 25, 2011 at 16:31, Robert Newson <[email protected]> wrote: > The purpose is to ensure the integrity of attachments during > replication, it uses a standard header. I don't think it's related to > the other conversation about adding md5 to _attachments. > > B. > > On 26 May 2011 00:27, Paul Davis <[email protected]> wrote: >> On Wed, May 25, 2011 at 7:10 PM, Randall Leeds <[email protected]> >> wrote: >>> Should we break this into digest_type and digest so we can change it >>> in the future? >>> >>> On Wed, May 25, 2011 at 15:55, <[email protected]> wrote: >>>> Author: rnewson >>>> Date: Wed May 25 22:55:09 2011 >>>> New Revision: 1127713 >>>> >>>> URL: http://svn.apache.org/viewvc?rev=1127713&view=rev >>>> Log: >>>> COUCHDB-1173 - return Content-MD5 when fetching attachments where possible. >>>> >>>> Modified: >>>> couchdb/trunk/share/www/script/test/attachments.js >>>> couchdb/trunk/src/couchdb/couch_httpd_db.erl >>>> >>>> Modified: couchdb/trunk/share/www/script/test/attachments.js >>>> URL: >>>> http://svn.apache.org/viewvc/couchdb/trunk/share/www/script/test/attachments.js?rev=1127713&r1=1127712&r2=1127713&view=diff >>>> ============================================================================== >>>> --- couchdb/trunk/share/www/script/test/attachments.js (original) >>>> +++ couchdb/trunk/share/www/script/test/attachments.js Wed May 25 22:55:09 >>>> 2011 >>>> @@ -281,4 +281,17 @@ couchTests.attachments= function(debug) >>>> } catch (e) { >>>> T(e.error == "missing_stub"); >>>> } >>>> + >>>> + // test MD5 header >>>> + var bin_data = "foo bar" >>>> + var xhr = CouchDB.request("PUT", >>>> "/test_suite_db/bin_doc7/attachment.txt", { >>>> + headers:{"Content-Type":"application/octet-stream", >>>> + "Content-MD5":"MntvB0NYESObxH4VRDUycw=="}, >>>> + body:bin_data >>>> + }); >>>> + TEquals(201, xhr.status); >>>> + >>>> + var xhr = CouchDB.request("GET", >>>> "/test_suite_db/bin_doc7/attachment.txt"); >>>> + TEquals('MntvB0NYESObxH4VRDUycw==', >>>> xhr.getResponseHeader("Content-MD5")); >>>> + >>>> }; >>>> >>>> Modified: couchdb/trunk/src/couchdb/couch_httpd_db.erl >>>> URL: >>>> http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_httpd_db.erl?rev=1127713&r1=1127712&r2=1127713&view=diff >>>> ============================================================================== >>>> --- couchdb/trunk/src/couchdb/couch_httpd_db.erl (original) >>>> +++ couchdb/trunk/src/couchdb/couch_httpd_db.erl Wed May 25 22:55:09 2011 >>>> @@ -1008,7 +1008,13 @@ db_attachment_req(#httpd{method='GET',mo >>>> {identity, Ranges} when is_list(Ranges) -> >>>> send_ranges_multipart(Req, Type, Len, Att, >>>> Ranges); >>>> _ -> >>>> - {ok, Resp} = start_response_length(Req, 200, >>>> Headers, Len), >>>> + Headers1 = Headers ++ >>>> + if Enc =:= identity orelse >>>> ReqAcceptsAttEnc =:= true -> >>>> + [{"Content-MD5", >>>> base64:encode(Att#att.md5)}]; >>>> + true -> >>>> + [] >>>> + end, >>>> + {ok, Resp} = start_response_length(Req, 200, >>>> Headers1, Len), >>>> AttFun(Att, fun(Seg, _) -> send(Resp, Seg) >>>> end, {ok, Resp}) >>>> end >>>> end >>>> >>>> >>>> >>> >> >> Heh. Actually, this is the exact case that I was railing about not >> becoming when we discussed signature information in the doc body. Here >> though its already been codified by RFC 2616 so breaking it would mean >> custom headers. >> >
