According to couchd documentation[1] this is not the reason why you are
sending json with text header.

to answer my own question, there is no way at the moment to change the
default behavior and send app/json in the response header


1. http://guide.couchdb.org/draft/api.html

<http://guide.couchdb.org/draft/design.html>

"The Content-Type header tells you which MIME type the HTTP response body is
and its encoding. We already know CouchDB returns JSON strings. The
appropriateContent-Type header is application/json. Why do we see text/plain?
This is where pragmatism wins over purity. Sending an application/json
Content-Typeheader will make a browser offer you the returned JSON for
download instead of just displaying it. Since it is extremely useful to be
able to test CouchDB from a browser, CouchDB sends a text/plain content
type, so all browsers will display the JSON as text.

There are some browser extensions that make your browser JSON-aware, but
they are not installed by default."

On Sun, May 8, 2011 at 11:52 PM, Alexander Shorin <kxe...@gmail.com> wrote:

> This is not a problem due to you haven't specified the Accept header
> and not defined preferable content type.
> According HTTP specification [1] section 14.1, if there is no
> acceptable content-type then assume that client supports all media
> types. AFAIK, http work with mime types based on another specification
> [2] which tell to return text/plain value as default one. I suppose
> that you should specify it due to specifications, not usability
> reasons, that's not difficult(;
>
> [1] http://www.ietf.org/rfc/rfc2616.txt
> [2] http://www.ietf.org/rfc/rfc2045.txt
>
> ------------------
> ,,,^..^,,,
>
>
>
> On Mon, May 9, 2011 at 2:20 AM, István <lecc...@gmail.com> wrote:
> > This is why i asked about the _default_ in my email, I don't want to
> specify
> > it with every request.
> >
> > This is not even nginx but couchdb. You can try it yourself talking to
> > couchdb without a reverse proxy.
> >
> > On Sat, May 7, 2011 at 5:40 PM, Alexander Shorin <kxe...@gmail.com>
> wrote:
> >
> >> Try to pass "Accept: application/json" header instead of
> >> "Content-Type" which marks type of returned content, not requested.
> >> Missed Accept headers means all types are expectable and nginx thought
> >> that text/plain is good one.
> >>
> >> ------------------
> >> ,,,^..^,,,
> >>
> >>
> >>
> >> On Sat, May 7, 2011 at 8:12 PM, István <lecc...@gmail.com> wrote:
> >> > $ curl -D - -X GET -H "Content-Type: application/json"
> >> > http://couch.nohup.hu/nohup_urls/c08b5c2c03d31ee767ab891223000d72
> >> > HTTP/1.1 200 OK
> >> > Server: nginx/1.0.0
> >> > Date: Sat, 07 May 2011 16:11:57 GMT
> >> > Content-Type: text/plain;charset=utf-8
> >> > Connection: keep-alive
> >> > Vary: Accept-Encoding
> >> > Etag: "1-e643d169eb8593e9354012fb7a082605"
> >> > Content-Length: 209
> >> > Cache-Control: must-revalidate
> >> >
> >> > I would like the change the _default_ behavior to application/json
> >> >
> >> > I.
> >> >
> >> > On Sat, May 7, 2011 at 4:34 PM, Alexander Shorin <kxe...@gmail.com>
> >> wrote:
> >> >
> >> >> Is it for show documents? Just return {json: <your-data>} in this
> case.
> >> >>
> >> >> ------------------
> >> >> ,,,^..^,,,
> >> >>
> >> >>
> >> >>
> >> >> On Sat, May 7, 2011 at 7:24 PM, István <lecc...@gmail.com> wrote:
> >> >> > Hi,
> >> >> >
> >> >> > is there an easy way to change the default content type
> >> >> > from  text/plain;charset=utf-8 to application/json somehow?
> >> >> >
> >> >> > Regards,
> >> >> > Istvan
> >> >> >
> >> >> >
> >> >> > --
> >> >> > the sun shines for all
> >> >> >
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > the sun shines for all
> >> >
> >>
> >
> >
> >
> > --
> > the sun shines for all
> >
>



-- 
the sun shines for all

Reply via email to