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 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. For more information on JIRA, see: http://www.atlassian.com/software/jira