You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by be...@apache.org on 2010/02/03 17:30:08 UTC
svn commit: r906111 - in /couchdb/trunk/src/couchdb: couch_db.hrl
couch_httpd.erl couch_httpd_rewrite.erl
Author: benoitc
Date: Wed Feb 3 16:30:08 2010
New Revision: 906111
URL: http://svn.apache.org/viewvc?rev=906111&view=rev
Log:
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.
Modified:
couchdb/trunk/src/couchdb/couch_db.hrl
couchdb/trunk/src/couchdb/couch_httpd.erl
couchdb/trunk/src/couchdb/couch_httpd_rewrite.erl
Modified: couchdb/trunk/src/couchdb/couch_db.hrl
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_db.hrl?rev=906111&r1=906110&r2=906111&view=diff
==============================================================================
--- couchdb/trunk/src/couchdb/couch_db.hrl (original)
+++ couchdb/trunk/src/couchdb/couch_db.hrl Wed Feb 3 16:30:08 2010
@@ -73,7 +73,9 @@
user_ctx,
req_body = undefined,
design_url_handlers,
- auth
+ auth,
+ default_fun,
+ url_handlers
}).
Modified: couchdb/trunk/src/couchdb/couch_httpd.erl
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_httpd.erl?rev=906111&r1=906110&r2=906111&view=diff
==============================================================================
--- couchdb/trunk/src/couchdb/couch_httpd.erl (original)
+++ couchdb/trunk/src/couchdb/couch_httpd.erl Wed Feb 3 16:30:08 2010
@@ -175,7 +175,9 @@
path_parts = [list_to_binary(couch_httpd:unquote(Part))
|| Part <- string:tokens(Path, "/")],
db_url_handlers = DbUrlHandlers,
- design_url_handlers = DesignUrlHandlers
+ design_url_handlers = DesignUrlHandlers,
+ default_fun = DefaultFun,
+ url_handlers = UrlHandlers
},
HandlerFun = couch_util:dict_find(HandlerKey, UrlHandlers, DefaultFun),
Modified: couchdb/trunk/src/couchdb/couch_httpd_rewrite.erl
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_httpd_rewrite.erl?rev=906111&r1=906110&r2=906111&view=diff
==============================================================================
--- couchdb/trunk/src/couchdb/couch_httpd_rewrite.erl (original)
+++ couchdb/trunk/src/couchdb/couch_httpd_rewrite.erl Wed Feb 3 16:30:08 2010
@@ -172,20 +172,15 @@
% 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.