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.