couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randall Leeds <rand...@apache.org>
Subject Re: svn commit: r1127713 - in /couchdb/trunk: share/www/script/test/attachments.js src/couchdb/couch_httpd_db.erl
Date Wed, 25 May 2011 23:32:52 GMT
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 <rnewson@apache.org> 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 <paul.joseph.davis@gmail.com> wrote:
>> On Wed, May 25, 2011 at 7:10 PM, Randall Leeds <randall.leeds@gmail.com> 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,  <rnewson@apache.org> 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.
>>
>

Mime
View raw message