aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_http.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2012-11-29 07:15:04 +0500
committerMatthew Wild <mwild1@gmail.com>2012-11-29 07:15:04 +0500
commit3e74495e5557a7d73385b3894a32e60be0356a46 (patch)
tree946f436f1268fd970de15a3d8ef7d11a38fff245 /plugins/mod_http.lua
parentdb1908120b188b52439127a80fe26913dd2b6b2f (diff)
downloadprosody-3e74495e5557a7d73385b3894a32e60be0356a46.tar.gz
prosody-3e74495e5557a7d73385b3894a32e60be0356a46.zip
mod_http: Fix pattern and slightly improve efficiency and memory usage of wildcard HTTP handlers
Diffstat (limited to 'plugins/mod_http.lua')
-rw-r--r--plugins/mod_http.lua4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/mod_http.lua b/plugins/mod_http.lua
index f386f870..e73778ae 100644
--- a/plugins/mod_http.lua
+++ b/plugins/mod_http.lua
@@ -88,10 +88,10 @@ function module.add_host(module)
local data = handler;
handler = function () return data; end
elseif event_name:sub(-2, -1) == "/*" then
- local base_path = event_name:match("/(.+)/*$");
+ local base_path_len = #event_name:match("(/.+/)%*$")+1;
local _handler = handler;
handler = function (event)
- local path = event.request.path:sub(#base_path+1);
+ local path = event.request.path:sub(base_path_len);
return _handler(event, path);
end;
end