You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Malte S. Stretz (JIRA)" <ji...@apache.org> on 2011/01/12 16:30:45 UTC

[jira] Commented: (COUCHDB-1025) Misleading error "Referer header required." when POSTing without a body

    [ https://issues.apache.org/jira/browse/COUCHDB-1025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980751#action_12980751 ] 

Malte S. Stretz commented on COUCHDB-1025:
------------------------------------------

Doh. Sorry for the noise, next time I learn to read first.

I added a short note to the HTTP_Document_API document and look for a place to document the multipart/form-data interface and the required Referer header (so Google actually finds something when you ask about it :)

> Misleading error "Referer header required." when POSTing without a body
> -----------------------------------------------------------------------
>
>                 Key: COUCHDB-1025
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1025
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 1.0.1
>         Environment: Ubuntu 10.10, Perl modules involved: LWP 5.836, JSON::Any 1.22, JSON 2.21, JSON::XS 2.29
>            Reporter: Malte S. Stretz
>            Priority: Minor
>
> This one gave me headaches.  I use the simple Perl library from <http://wiki.apache.org/couchdb/Getting_started_with_Perl> in combination with JSON::Any to push ~63000 documents to a database.  Since I later want to sync this data with outside changes, I calculated a hash of each document and generated a document /hashes which maps the hashes to document names (I know, not the best solution, but this should have been only a quick hack and I wanted to keep the hashes out of the actual documents).  After I split the bulk pushing into batches of 1024 to get around timeouts in LWP, uploading the data itself works fine.  But the /hashes document always fails with {"error":"bad_request","reason":"Referer header required."}.
> After a lot of prodding in the wrong corners, Wireshark came to the rescue. The data sent and received is quoted below; there appears to be some problem/bug/config issue in LWP with POSTing large documents:  The Content-Length is set but no body is sent. This is not good. But the error message coming back from CouchDB is almost worse :)
> POST /certif/hashes HTTP/1.1
> TE: deflate,gzip;q=0.3
> Connection: TE, close
> Host: localhost:5984
> User-Agent: libwww-perl/5.836
> Content-Type: application/json
> Content-Length: 4478093
> HTTP/1.1 400 Bad Request
> Server: CouchDB/1.0.1 (Erlang OTP/R13B)
> Date: Tue, 11 Jan 2011 16:47:57 GMT
> Content-Type: text/plain;charset=utf-8
> Content-Length: 60
> Cache-Control: must-revalidate
> {"error":"bad_request","reason":"Referer header required."}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.