You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2015/07/21 15:15:55 UTC

[1/2] couchdb-mango git commit: Add `mango_app` and `mango_sup`

Repository: couchdb-mango
Updated Branches:
  refs/heads/master a0cac182c -> 7fa976394


Add `mango_app` and `mango_sup`


Project: http://git-wip-us.apache.org/repos/asf/couchdb-mango/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-mango/commit/520587da
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-mango/tree/520587da
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-mango/diff/520587da

Branch: refs/heads/master
Commit: 520587dab83646a70cf078b52b99544b0edfc261
Parents: a0cac18
Author: ILYA Khlopotov <ii...@ca.ibm.com>
Authored: Wed Jul 15 08:42:14 2015 -0700
Committer: ILYA Khlopotov <ii...@ca.ibm.com>
Committed: Wed Jul 15 09:10:54 2015 -0700

----------------------------------------------------------------------
 src/mango.app.src |  3 ++-
 src/mango_app.erl | 21 +++++++++++++++++++++
 src/mango_sup.erl | 25 +++++++++++++++++++++++++
 3 files changed, 48 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/520587da/src/mango.app.src
----------------------------------------------------------------------
diff --git a/src/mango.app.src b/src/mango.app.src
index a25cf1e..e1d566d 100644
--- a/src/mango.app.src
+++ b/src/mango.app.src
@@ -20,5 +20,6 @@
         config,
         couch_log,
         fabric
-    ]}
+    ]},
+    {mod, {mango_app, []}}
 ]}.

http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/520587da/src/mango_app.erl
----------------------------------------------------------------------
diff --git a/src/mango_app.erl b/src/mango_app.erl
new file mode 100644
index 0000000..7a0c39d
--- /dev/null
+++ b/src/mango_app.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(mango_app).
+-behaviour(application).
+-export([start/2, stop/1]).
+
+start(_Type, StartArgs) ->
+    mango_sup:start_link(StartArgs).
+
+stop(_State) ->
+    ok.

http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/520587da/src/mango_sup.erl
----------------------------------------------------------------------
diff --git a/src/mango_sup.erl b/src/mango_sup.erl
new file mode 100644
index 0000000..f9d0e22
--- /dev/null
+++ b/src/mango_sup.erl
@@ -0,0 +1,25 @@
+% 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(mango_sup).
+-behaviour(supervisor).
+-export([init/1]).
+
+-export([start_link/1]).
+
+
+start_link(Args) ->
+    supervisor:start_link({local,?MODULE}, ?MODULE, Args).
+
+init([]) ->
+    {ok, {{one_for_one, 3, 10}, [
+    ]}}.


[2/2] couchdb-mango git commit: Use dynamic handlers

Posted by rn...@apache.org.
Use dynamic handlers

We use dynamic handlers for mango related calls which are:

 - `_index`
 - `_explain`
 - `_find`


Project: http://git-wip-us.apache.org/repos/asf/couchdb-mango/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-mango/commit/7fa97639
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-mango/tree/7fa97639
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-mango/diff/7fa97639

Branch: refs/heads/master
Commit: 7fa97639418b74835354192e21a0afc4f34b0a60
Parents: 520587d
Author: ILYA Khlopotov <ii...@ca.ibm.com>
Authored: Wed Jul 15 08:43:05 2015 -0700
Committer: ILYA Khlopotov <ii...@ca.ibm.com>
Committed: Fri Jul 17 10:16:16 2015 -0700

----------------------------------------------------------------------
 src/mango.app.src            |  1 +
 src/mango_httpd_handlers.erl | 24 ++++++++++++++++++++++++
 src/mango_sup.erl            |  1 +
 3 files changed, 26 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/7fa97639/src/mango.app.src
----------------------------------------------------------------------
diff --git a/src/mango.app.src b/src/mango.app.src
index e1d566d..a63f036 100644
--- a/src/mango.app.src
+++ b/src/mango.app.src
@@ -17,6 +17,7 @@
     {applications, [
         kernel,
         stdlib,
+        couch_epi,
         config,
         couch_log,
         fabric

http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/7fa97639/src/mango_httpd_handlers.erl
----------------------------------------------------------------------
diff --git a/src/mango_httpd_handlers.erl b/src/mango_httpd_handlers.erl
new file mode 100644
index 0000000..80e5e27
--- /dev/null
+++ b/src/mango_httpd_handlers.erl
@@ -0,0 +1,24 @@
+% 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(mango_httpd_handlers).
+
+-export([url_handler/1, db_handler/1, design_handler/1]).
+
+url_handler(_) -> no_match.
+
+db_handler(<<"_index">>)        -> fun mango_httpd:handle_req/2;
+db_handler(<<"_explain">>)      -> fun mango_httpd:handle_req/2;
+db_handler(<<"_find">>)         -> fun mango_httpd:handle_req/2;
+db_handler(_) -> no_match.
+
+design_handler(_) -> no_match.

http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/7fa97639/src/mango_sup.erl
----------------------------------------------------------------------
diff --git a/src/mango_sup.erl b/src/mango_sup.erl
index f9d0e22..7f4cd10 100644
--- a/src/mango_sup.erl
+++ b/src/mango_sup.erl
@@ -22,4 +22,5 @@ start_link(Args) ->
 
 init([]) ->
     {ok, {{one_for_one, 3, 10}, [
+        chttpd_handlers:provider(mango, mango_httpd_handlers)
     ]}}.