diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-04-23 21:34:05 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-04-23 21:34:05 +0100 |
commit | a3ceb27baef9490381162c206e89b7d2f67ef3c7 (patch) | |
tree | d6062fe5287c2a27cf2392ae1f75a4bb47e88ae4 /plugins/mod_http.lua | |
parent | f2b41269670e6947a2f43c3d793cac9b56bccf02 (diff) | |
download | prosody-a3ceb27baef9490381162c206e89b7d2f67ef3c7.tar.gz prosody-a3ceb27baef9490381162c206e89b7d2f67ef3c7.zip |
mod_http: Pass portion of path that matched wildcard to wildcard handlers, as a second parameter
Diffstat (limited to 'plugins/mod_http.lua')
-rw-r--r-- | plugins/mod_http.lua | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/mod_http.lua b/plugins/mod_http.lua index cd1984c0..3dcb14d7 100644 --- a/plugins/mod_http.lua +++ b/plugins/mod_http.lua @@ -46,6 +46,14 @@ function module.add_host(module) for key, handler in pairs(event.item.route or {}) do local event_name = get_http_event(host, app_path, key); if event_name then + if event_name:sub(-2, -1) == "/*" then + local base_path = event_name:match("/(.+)/*$"); + local _handler = handler; + handler = function (event) + local path = event.request.path:sub(#base_path+1); + return _handler(event, path); + end; + end if not app_handlers[event_name] then app_handlers[event_name] = handler; server.add_handler(event_name, handler); |