# HG changeset patch # User Matthew Wild # Date 1354155304 -18000 # Node ID 0b4f680ea11644476b4552f03b3f0a3aec20fb3d # Parent ff0d0cd07c438671957405c00758111b82259c14 mod_http: Fix pattern and slightly improve efficiency and memory usage of wildcard HTTP handlers diff -r ff0d0cd07c43 -r 0b4f680ea116 plugins/mod_http.lua --- 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