summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_httpd_rewrite.erl
diff options
context:
space:
mode:
authorBenoit Chesneau <benoitc@apache.org>2010-02-03 16:30:08 +0000
committerBenoit Chesneau <benoitc@apache.org>2010-02-03 16:30:08 +0000
commit7a1efddfb663068d8ee59ee8f6c655777d4aa662 (patch)
tree6ce4386392620758056a7ab8784dc345556cda2c /src/couchdb/couch_httpd_rewrite.erl
parentfbff9958357d1f9a39b4e811369250351546a1df (diff)
add default_fun and url_handlers to #http. It's useful for any custom
handler that need to use the http_handler and not only the db and design http handlers. Like for example in the rewriter. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@906111 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/couchdb/couch_httpd_rewrite.erl')
-rw-r--r--src/couchdb/couch_httpd_rewrite.erl19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/couchdb/couch_httpd_rewrite.erl b/src/couchdb/couch_httpd_rewrite.erl
index eabe98df..72ec9545 100644
--- a/src/couchdb/couch_httpd_rewrite.erl
+++ b/src/couchdb/couch_httpd_rewrite.erl
@@ -172,20 +172,15 @@ handle_rewrite_req(#httpd{
% cleanup, It force mochiweb to reparse raw uri.
MochiReq1:cleanup(),
- DefaultSpec = "{couch_httpd_db, handle_request}",
- DefaultFun = couch_httpd:make_arity_1_fun(
- couch_config:get("httpd", "default_handler", DefaultSpec)
- ),
-
- UrlHandlersList = lists:map(
- fun({UrlKey, SpecStr}) ->
- {?l2b(UrlKey), couch_httpd:make_arity_1_fun(SpecStr)}
- end, couch_config:get("httpd_global_handlers")),
- UrlHandlers = dict:from_list(UrlHandlersList),
+ #httpd{
+ db_url_handlers = DbUrlHandlers,
+ design_url_handlers = DesignUrlHandlers,
+ default_fun = DefaultFun,
+ url_handlers = UrlHandlers
+ } = Req,
couch_httpd:handle_request(MochiReq1, DefaultFun,
- UrlHandlers, Req#httpd.db_url_handlers,
- Req#httpd.design_url_handlers)
+ UrlHandlers, DbUrlHandlers, DesignUrlHandlers)
end.