Differentiate between not exitant 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
            Priority: Minor


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.

Reply via email to