[
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.