couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Newson (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-1175) Improve content type negotiation for couchdb JSON responses
Date Thu, 07 Jul 2011 17:43:17 GMT


Robert Newson commented on COUCHDB-1175:

It turns out that browsers typically send horribly broken Accept lines, so 'proper' content
type negotiation will not work out in practice.

I propose this, inspired by this post (;

1) if the Accept line is *exactly* 'application/json', we return json (and 401's instead of
2) otherwise we assume the request is from a browser and return html (and 302's instead of

The version of jquery we use does *not* append '*/*' so the above ought to work.

Feedback is needed, please.

> Improve content type negotiation for couchdb JSON responses
> -----------------------------------------------------------
>                 Key: COUCHDB-1175
>                 URL:
>             Project: CouchDB
>          Issue Type: Improvement
>    Affects Versions: 1.0.2
>            Reporter: Robert Newson
>            Assignee: Robert Newson
>            Priority: Blocker
>             Fix For: 1.1.1, 1.2
> Currently we ignore qvalues when negotiation between 'application/json' and 'text/plain'
when returning JSON responses.
> Specifically, we test directly for 'application/json' or 'text/plain' in the Accept header.
Different branches have different bugs, though. Trunk returns 'application/json' if 'application/json'
is present at all, even if it's less preferred than 'text/plain' when qvalues are accounted
> We should follow the standard.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message