[
https://issues.apache.org/jira/browse/COUCHDB-1285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106070#comment-13106070
]
Benjamin Young commented on COUCHDB-1285:
-----------------------------------------
One suggested change to this patch. Rather than making the key in the welcome
JSON the vendor's name, it should be changed to be a key named "vendor" with
the full vendor info underneath as an object:
"vendor":{"name":"refuge", "version": "2.0.0"}
That way in Futon (and elsewhere) the vendor version can be retrieved by
referencing info.vendor.version rather than info.refuge--which would
unnecessarily "fork" Futon per vendor version).
Thanks.
> 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