couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Joseph Davis (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (COUCHDB-41) Differentiate between not existent database and not existant document in response on 404
Date Sun, 17 May 2009 03:55:45 GMT

     [ https://issues.apache.org/jira/browse/COUCHDB-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Paul Joseph Davis resolved COUCHDB-41.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 0.10
         Assignee: Paul Joseph Davis  (was: Jan Lehnardt)

When requesting a database that doesn't exist, the body is now:

{"error": "not_found", "reason": "no_db_file"}

> Differentiate between not existent database and not existant document in response on
404
> ----------------------------------------------------------------------------------------
>
>                 Key: COUCHDB-41
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-41
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: HTTP Interface
>         Environment: CouchDB 0.7.2
>            Reporter: Kore Nordmann
>            Assignee: Paul Joseph Davis
>            Priority: Blocker
>             Fix For: 0.10
>
>
> Currently it is not possible to know from a request on a not existent document in the
database, if the database does not exist, or if it is just the document which is missing.
> It would be nice to have this information in the response JSON structure, so that the
application using the CouchDB could handle such errors more gracefully. An extract from a
CouchDB interaction showing the problem:
> == Ensure database is absent
> DELETE /test HTTP/1.0
> Host: localhost
> HTTP/1.0 404 Object Not Found
> Server: inets/develop
> Date: Tue, 15 Apr 2008 20:54:20 GMT
> Cache-Control: no-cache
> Pragma: no-cache
> Expires: Tue, 15 Apr 2008 20:54:20 GMT
> Connection: close
> Content-Type: text/plain;charset=utf-8
> {"error":"not_found","reason":"missing"}
> == Try GET on absent database
> GET /test/not_existant HTTP/1.0
> Host: localhost
> HTTP/1.0 404 Object Not Found
> Server: inets/develop
> Date: Tue, 15 Apr 2008 20:54:20 GMT
> Cache-Control: no-cache
> Pragma: no-cache
> Expires: Tue, 15 Apr 2008 20:54:20 GMT
> Connection: close
> Content-Type: text/plain;charset=utf-8
> {"error":"not_found","reason":"missing"}
> == Create database, but not the document
> PUT /test HTTP/1.0
> Host: localhost
> HTTP/1.0 201 Created
> Server: inets/develop
> Date: Tue, 15 Apr 2008 20:54:20 GMT
> Cache-Control: no-cache
> Pragma: no-cache
> Expires: Tue, 15 Apr 2008 20:54:20 GMT
> Connection: close
> Content-Type: text/plain;charset=utf-8
> {"ok":true}
> == Try to fetch document again
> GET /test/not_existant HTTP/1.0
> Host: localhost
> HTTP/1.0 404 Object Not Found
> Server: inets/develop
> Date: Tue, 15 Apr 2008 20:54:20 GMT
> Cache-Control: no-cache
> Pragma: no-cache
> Expires: Tue, 15 Apr 2008 20:54:20 GMT
> Connection: close
> Content-Type: text/plain;charset=utf-8
> {"error":"not_found","reason":"missing"}

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