Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2FF887192 for ; Fri, 30 Sep 2011 14:40:10 +0000 (UTC) Received: (qmail 25675 invoked by uid 500); 30 Sep 2011 14:40:09 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 25582 invoked by uid 500); 30 Sep 2011 14:40:09 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 25574 invoked by uid 99); 30 Sep 2011 14:40:09 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Sep 2011 14:40:09 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Sep 2011 14:40:06 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 79B232A2D9C for ; Fri, 30 Sep 2011 14:39:45 +0000 (UTC) Date: Fri, 30 Sep 2011 14:39:45 +0000 (UTC) From: "Benjamin Young (Updated) (JIRA)" To: dev@couchdb.apache.org Message-ID: <2088600187.11508.1317393585500.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <672355240.31521.1316106489039.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (COUCHDB-1285) Allow configuration of vendor and module version in the welcome message MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/COUCHDB-1285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Young updated COUCHDB-1285: ------------------------------------ Attachment: vendor_and_modules_objects.patch This patch makes Vendors and Modules JSON objects inside the "Welcome" JSON object returned from "/" Vendors has been made an object to allow more consistent referencing of the vendor version number and other potential vendor specific information without the need to reference the vendor name in client-side code (namely, Futon). The version number can now be retrieved at doc.vendor.version vs. doc.refuge (or similar). > Allow configuration of vendor and module version in the welcome message > ----------------------------------------------------------------------- > > Key: COUCHDB-1285 > URL: https://issues.apache.org/jira/browse/COUCHDB-1285 > Project: CouchDB > Issue Type: Improvement > Reporter: Jan Lehnardt > Attachments: vendor_and_modules_objects.patch > > > The patch below allows to configure vendor and module version information into the GET / welcome message. > E.g. > [vendor] > name = refuge > version = 2.0.0 > > [modules] > geocouch = 1.2.1 > would produce: > {"couchdb":"Welcome","version":"1.2.0","refuge":"2.0.0","modules":{"geocouch":"1.2.1"}} > -- > --- a/src/couchdb/couch_httpd_misc_handlers.erl > +++ b/src/couchdb/couch_httpd_misc_handlers.erl > @@ -30,9 +30,23 @@ > % httpd global handlers > > handle_welcome_req(#httpd{method='GET'}=Req, WelcomeMessage) -> > + Vendor = case couch_config:get("vendor") of > + [] -> []; > + Vendor1 -> [{ > + proplists:get_value("name", Vendor1), > + ?l2b(proplists:get_value("version", Vendor1)) > + }] > + end, > + > + Modules = lists:map(fun({Key, Value}) -> > + {Key, ?l2b(Value)} > + end, couch_config:get("modules")), > + > send_json(Req, {[ > {couchdb, WelcomeMessage}, > - {version, list_to_binary(couch_server:get_version())} > + {version, list_to_binary(couch_server:get_version())}] > + ++ Vendor > + ++ [{modules, {Modules}} > ]}); > handle_welcome_req(Req, _) -> > send_method_not_allowed(Req, "GET,HEAD"). > -- -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira