couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Newson <>
Subject Re: Multipart vs chunked
Date Mon, 06 Feb 2012 18:33:11 GMT
Pretty obvious bug, yes. We're attempting to evaluate whether the atom
'chunked' is greater than zero.

>receive_request_data(Req) ->
 >   receive_request_data(Req, couch_httpd:body_length(Req)).
>receive_request_data(Req, LenLeft) when LenLeft > 0 ->

On 6 February 2012 13:21, Jens Alfke <> wrote:
> tl;dr: CouchDB* doesn’t seem to correctly parse MIME multipart uploads when the HTTP
transfer is chunked. It generates an Erlang exception.
> I spent the weekend trying to implement multipart document+attachment uploads in my client
code. In doing so I ran into what I think is a bug in CouchDB — after I’d gotten the client
side working, every upload produced an Erlang exception on the server. I tried changing around
the client-side code so it precomputed the body length instead of sending the body in ‘chunked’
encoding, and that made CouchDB happier.
> The exception looks like:
> [error] [emulator] Error in process <0.15079.3> with exit value: {badarith,[{couch_httpd_db,'-receive_request_data/2-fun-0-',3},{couch_httpd,read_until,3},{couch_httpd,parse_part_body,1},{couch_httpd,parse_multipart_request,3},{couch_doc,'-doc_from_multi_part_stream/2-fun-1-'...
> Is this a known bug, or should I file something?
> —Jens
> * Well, Couchbase Single Server 2.0.0dev4, which I think is basically CouchDB 1.1.1.

View raw message