You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Paul Joseph Davis (JIRA)" <ji...@apache.org> on 2009/04/18 22:44:14 UTC

[jira] Commented: (COUCHDB-306) Wacky error responses to malformed documents

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

Paul Joseph Davis commented on COUCHDB-306:
-------------------------------------------

Doh!

I meant to make a note that the JS I was trying wouldn't trigger #3. Now that I look harder it would appear to be a completely different bit of code than what I was even looking at. Plus the fact that curl and XHR are providing different headers which are causing that error.

I didn't even realize that #2 was a PUT and not POST till just now. I wrote and tested changes to make sure there was a Json object passed as the body for POST though :D

On a side note, this is a good example of why we like JS test submissions. A patch for the test-suite would've caught both of these errors. Now that I see the error related to #3 I'll fix it as well.

> Wacky error responses to malformed documents
> --------------------------------------------
>
>                 Key: COUCHDB-306
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-306
>             Project: CouchDB
>          Issue Type: Improvement
>    Affects Versions: 0.9
>            Reporter: Brian Candler
>            Assignee: Paul Joseph Davis
>            Priority: Minor
>             Fix For: 0.9.1, 0.10
>
>
> Here are some error conditions where CouchDB provides very strange responses.
> ---- Setup ----
> $ curl -X PUT http://127.0.0.1:5984/foo
> {"ok":true}
> ---- example 1 ----
> $ curl -d "[]" -X PUT http://127.0.0.1:5984/foo/bar
> {"error":"bad_request","reason":[68,111,99,117,109,101,110,116,32,109,117,115,116,32,98,101,32,97,32,74,83,79,78,32,111,98,106,101,99,116]}
> ---- example 2 ----
> $ curl -d "[]" -X PUT http://127.0.0.1:5984/foo/_bulk_docs
> -- TCP connection is dropped on the floor, no response (not even HTTP 500 status)
> ---- example 3 ----
> $ curl -d "{}" -X POST http://127.0.0.1:5984/foo/bar
> {"error":"badmatch","reason":"{\"application/x-www-form-urlencoded\",[]}"}
> $ curl -d "{}" -H "Content-Type: application/json" -X POST http://127.0.0.1:5984/foo/bar
> {"error":"badmatch","reason":"{\"application/json\",[]}"}
> ---- example 4 ----
> $ curl -d '[]' -X POST http://127.0.0.1:5984/foo/_all_docs
> {"error":"badmatch","reason":""}
> ---- example 5 ----
> $ curl -d '{"keys":"foo"}' -X POST http://127.0.0.1:5984/foo/_all_docs
> {"error":"unknown_error","reason":"function_clause"}
> Of course, all of these are misuse of the API, but they may be seen by newcomers.

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