summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2015-07-21 14:15:23 +0100
committerRobert Newson <rnewson@apache.org>2015-07-21 14:15:34 +0100
commit5c0e927c11df8f6b45b9a60f0c8eddaccbf3debe (patch)
treec49b18817f22d55131d7901eb5bbf295ed4a066a
parentaa17a557bb6ad207c1d4e42d0e74ef81f1d45f2c (diff)
downloadcouchdb-5c0e927c11df8f6b45b9a60f0c8eddaccbf3debe.tar.gz
Use dynamic handlers
-rw-r--r--src/setup.app.src5
-rw-r--r--src/setup_httpd_handlers.erl21
-rw-r--r--src/setup_sup.erl5
3 files changed, 28 insertions, 3 deletions
diff --git a/src/setup.app.src b/src/setup.app.src
index 8c85e14fb..ae685c971 100644
--- a/src/setup.app.src
+++ b/src/setup.app.src
@@ -17,7 +17,10 @@
{registered, []},
{applications, [
kernel,
- stdlib
+ stdlib,
+ couch_epi,
+ chttpd,
+ couch_log
]},
{mod, { setup_app, []}},
{env, []}
diff --git a/src/setup_httpd_handlers.erl b/src/setup_httpd_handlers.erl
new file mode 100644
index 000000000..2d7d82e0b
--- /dev/null
+++ b/src/setup_httpd_handlers.erl
@@ -0,0 +1,21 @@
+% Licensed under the Apache License, Version 2.0 (the "License"); you may not
+% use this file except in compliance with the License. You may obtain a copy of
+% the License at
+%
+% http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+% License for the specific language governing permissions and limitations under
+% the License.
+
+-module(setup_httpd_handlers).
+
+-export([url_handler/1, db_handler/1, design_handler/1]).
+
+url_handler(<<"_cluster_setup">>) -> fun setup_httpd:handle_setup_req/1.
+
+db_handler(_) -> no_match.
+
+design_handler(_) -> no_match.
diff --git a/src/setup_sup.erl b/src/setup_sup.erl
index b69733395..c86237dfa 100644
--- a/src/setup_sup.erl
+++ b/src/setup_sup.erl
@@ -35,5 +35,6 @@ start_link() ->
%% ===================================================================
init([]) ->
- {ok, { {one_for_one, 5, 10}, []} }.
-
+ {ok, { {one_for_one, 5, 10}, [
+ chttpd_handlers:provider(setup, setup_httpd_handlers)
+ ]} }.