couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Newson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COUCHDB-463) Allow client to insist on Content-Type: application/json in all responses
Date Wed, 12 Aug 2009 17:23:15 GMT

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

Robert Newson commented on COUCHDB-463:
---------------------------------------

I did;

"Some tools, like JSONView for FireFox, do not send the Accept header but do render "application/json"
responses if received."

That is, there is at least one plugin that can render returned JSON better than text/plain
that does not (or cannot? I don't know firefox plugin API) send the Accept header couchdb
expects.

I've added force_json=true to couchdb-lucene as the API there is much smaller (you can query
the index, that's about it) so I didn't have any qualms about adding another parameter for
these rare cases. If this parameter lets users work around bugs or deficiencies in their browsers
or tools, I'm fine with that. Obviously the Accept header is the way to go if you access couch
programatically which is the typical case.

JSONView: https://addons.mozilla.org/en-US/firefox/addon/10869

> Allow client to insist on Content-Type: application/json in all responses
> -------------------------------------------------------------------------
>
>                 Key: COUCHDB-463
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-463
>             Project: CouchDB
>          Issue Type: Improvement
>            Reporter: Robert Newson
>
> The Content-Type of responses is negotiated via Accept (application/json if acceptable,
text/plain if not). When the client is the browser, this often fails as the Accept line usually
does not include application/json.
> Consider a query parameter to force application/json responses even without the Accept
header. Couchdb-lucene does this today (it didn't do it yesterday), described as;
> "force_json
>     Usually couchdb-lucene determines the Content-Type of its response based on the presence
of the Accept header. If Accept contains "application/json", you get "application/json" in
the response, otherwise you get "text/plain;charset=utf8". Some tools, like JSONView for FireFox,
do not send the Accept header but do render "application/json" responses if received. Setting
force_json=true forces all response to "application/json" regardless of the Accept header."
> I recognize it duplicates the HTTP content negotiation.

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


Mime
View raw message