diff options
author | Guido Günther <agx@sigxcpu.org> | 2018-11-28 11:25:06 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2018-11-28 11:25:06 +0100 |
commit | dbd2238340d977fa1dc1727522df3195e828051c (patch) | |
tree | 663529743e260b4ce04cc469bcab3a29409ab6e0 | |
parent | d13762ed1c05853b1e49a1b0bdbe51773d7c5a89 (diff) | |
parent | 844b2a5c6184850a56c16e160e900316bf78728d (diff) |
Merge tag 'v0.0.3' into debian/sid
ldapsp v0.0.3
-rw-r--r-- | priv/ldapsp.service | 2 | ||||
-rw-r--r-- | rebar.config | 2 | ||||
-rw-r--r-- | src/ldapsp.app.src | 2 | ||||
-rw-r--r-- | src/ldapsp_config.erl | 3 | ||||
-rw-r--r-- | src/ldapsp_version.erl | 52 | ||||
-rwxr-xr-x | tests/test.sh | 3 |
6 files changed, 60 insertions, 4 deletions
diff --git a/priv/ldapsp.service b/priv/ldapsp.service index 241d1bd..3675de9 100644 --- a/priv/ldapsp.service +++ b/priv/ldapsp.service @@ -1,6 +1,6 @@ [Unit] Description=Foreman LDAP SmartProxy -After=syslog.target network.target +After=network.target [Service] Type=simple diff --git a/rebar.config b/rebar.config index dd10d2c..2afb8f0 100644 --- a/rebar.config +++ b/rebar.config @@ -3,7 +3,7 @@ {webmachine, {git, "https://github.com/webmachine/webmachine", {branch, "master"}}} ]}. -{relx, [{release, {'ldapsp', "0.0.1"}, +{relx, [{release, {'ldapsp', "0.0.3"}, [ldapsp, eldap, sasl]}, diff --git a/src/ldapsp.app.src b/src/ldapsp.app.src index a25328b..e1a6767 100644 --- a/src/ldapsp.app.src +++ b/src/ldapsp.app.src @@ -2,7 +2,7 @@ {application, ldapsp, [ {description, "ldapsp"}, - {vsn, "1"}, + {vsn, "0.0.3"}, {modules, []}, {registered, []}, {applications, [ diff --git a/src/ldapsp_config.erl b/src/ldapsp_config.erl index 938f7cd..9190ab5 100644 --- a/src/ldapsp_config.erl +++ b/src/ldapsp_config.erl @@ -30,7 +30,8 @@ dispatch() -> Resources = [ldapsp_features, ldapsp_realm, - ldapsp_realm_hostname + ldapsp_realm_hostname, + ldapsp_version ], lists:flatten([Module:routes() || Module <- Resources]). diff --git a/src/ldapsp_version.erl b/src/ldapsp_version.erl new file mode 100644 index 0000000..0d1e749 --- /dev/null +++ b/src/ldapsp_version.erl @@ -0,0 +1,52 @@ +%%------------------------------------------------------------------- +%% This file is part of ldapsp. +%% +%% Copyright (C) 2016 Guido Günther <agx@sigxcpu.org> +%% +%% ldapsp is free software: you can redistribute it and/or modify +%% it under the terms of the GNU General Public License as published by +%% the Free Software Foundation, either version 3 of the License, or +%% (at your option) any later version. +%% +%% ldapsp is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with ldapsp. If not, see <http://www.gnu.org/licenses/>. +%%------------------------------------------------------------------- +-module(ldapsp_version). +-export([ + init/1, + routes/0, + to_html/2, + to_json/2, + content_types_provided/2 +]). + +-include_lib("webmachine/include/webmachine.hrl"). + +-spec init(list()) -> {ok, term()}. +init([]) -> + {ok, undefined}. + +%% @doc Return the routes this module should respond to. +routes() -> + [{["version"], ?MODULE, []}]. + +-spec to_json(wrq:reqdata(), term()) -> {iodata(), wrq:reqdata(), term()}. +to_json(ReqData, State) -> + [Ver | _] = [ V || {App, _, V} <- application:which_applications(), App == ldapsp], + Version = list_to_binary(Ver), + Resp = mochijson2:encode([{"version", Version}, + {"modules", [{"realm", Version}]}]), + {Resp, ReqData, State}. + +to_html(ReqData, State) -> + to_json(ReqData, State). + +content_types_provided(RD, Ctx) -> + {[{"application/json", to_json}, + {"text/html", to_html}], + RD, Ctx}. diff --git a/tests/test.sh b/tests/test.sh index 50739f5..56de8ee 100755 --- a/tests/test.sh +++ b/tests/test.sh @@ -4,6 +4,9 @@ set -e HOST=${HOST:-localhost} # Check features +curl -s -H "Content-Type: application/json" http://$HOST:8080/version + +# Check features curl -s -H "Content-Type: application/json" http://$HOST:8080/features \ | grep -qs '["realm"]' |