couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Alfke (JIRA)" <>
Subject [jira] [Created] (COUCHDB-2052) Add API for discovering feature availability
Date Thu, 06 Feb 2014 15:00:23 GMT
Jens Alfke created COUCHDB-2052:

             Summary: Add API for discovering feature availability
                 Key: COUCHDB-2052
             Project: CouchDB
          Issue Type: Improvement
      Security Level: public (Regular issues)
          Components: HTTP Interface
            Reporter: Jens Alfke

I propose adding to the response of "GET /" a property called "features" or "extensions" whose
value is an array of strings, each string being an agreed-upon identifier of a specific optional
feature. For example:
	{"couchdb": "welcome", "features": ["_bulk_get", "persona"]}, "vendor": …

Features are being added to CouchDB over time, plug-ins may add features, and there are compatible
servers that may have nonstandard features (like _bulk_get). But there isn't a clear way for
a client (which might be another server's replicator) to determine what features a server
has. Currently a client looking at the response of a GET / has to figure out what server and
version thereof it's talking to, and then has to consult hardcoded knowledge that version
X of server Y supports feature Z.

(True, you can often get away without needing to check, by assuming a feature exists but falling
back to standard behavior if you get an error. But not all features may be so easy to detect
— the behavior of an unaware server might be to ignore the feature and do the wrong thing,
rather than returning an error — and anyway this adds extra round-trips that slow down the

This message was sent by Atlassian JIRA

View raw message