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