incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Bonhage (Commented) (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-1332) Invalid JSON shows debug level info in response
Date Fri, 04 Nov 2011 20:21:52 GMT


Christopher Bonhage commented on COUCHDB-1332:

The "reason" key cannot be easily matched against, and my users are incredibly fearful of
"teh codes" (erlang tuples, binaries, and cryptically useful feedback) in the error string.
This patch makes non-debug-level JSON errors more aesthetically pleasing. Ideally, the details
of the parse error could be included in separate keys on the error object instead of being
stringified into the reason key, but that's "nice to have", since the debug message is eminently
readable to anyone who understands what escaping means. Unfortunately, they don't seem to
appreciate my suggestion of simply sending valid JSON.

Example errors:

{"error":"bad_request","reason":"invalid UTF-8 JSON: {{error,{9,\"lexical error: invalid char
in json text.\\n\"}},\n                     <<\"{\\\"note\\\":asd\\\"dfsdfsdfsdfsdf\\\"}\">>}"}

{"error":"bad_request","reason":"invalid UTF-8 JSON: {{error,{2,\n                       
     \"parse error: invalid object key (must be a string)\\n\"}},\n                     <<\"{{\\\"note\\\":\\\"dsdfsdfsdfsdf\\\"}\">>}"}
> Invalid JSON shows debug level info in response
> -----------------------------------------------
>                 Key: COUCHDB-1332
>                 URL:
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: HTTP Interface
>    Affects Versions: 1.1.1
>         Environment: OS X 10.7.1 Macbook Pro
>            Reporter: Christopher Bonhage
>            Priority: Minor
>              Labels: erlang, error, json
>         Attachments: COUCHDB-1332.patch
>   Original Estimate: 0h
>  Remaining Estimate: 0h
> When sending invalid JSON in an HTTP request, the response contains the string "invalid
UTF-8 JSON: " followed by an erlang tuple and the escaped internal form of the string. I noticed
that this error tuple is only logged when the [log] level is debug. I would propose that the
error tuple only be show in the client response when debug is on as well.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message