Software /
code /
prosody
Diff
plugins/mod_http.lua @ 5204:0b4f680ea116
mod_http: Fix pattern and slightly improve efficiency and memory usage of wildcard HTTP handlers
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 29 Nov 2012 07:15:04 +0500 |
parent | 5190:76c73bd3d483 |
child | 5230:6f5640375358 |
line wrap: on
line diff
--- a/plugins/mod_http.lua Sun Nov 25 05:12:13 2012 +0100 +++ b/plugins/mod_http.lua Thu Nov 29 07:15:04 2012 +0500 @@ -88,10 +88,10 @@ 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