comparison plugins/mod_http.lua @ 5205:f7ff48494c2b

Merge 0.9->trunk
author Matthew Wild <mwild1@gmail.com>
date Thu, 29 Nov 2012 07:16:45 +0500
parents 0b4f680ea116
children 6f5640375358
comparison
equal deleted inserted replaced
5196:a63c4ad6cb36 5205:f7ff48494c2b
86 if event_name then 86 if event_name then
87 if type(handler) ~= "function" then 87 if type(handler) ~= "function" then
88 local data = handler; 88 local data = handler;
89 handler = function () return data; end 89 handler = function () return data; end
90 elseif event_name:sub(-2, -1) == "/*" then 90 elseif event_name:sub(-2, -1) == "/*" then
91 local base_path = event_name:match("/(.+)/*$"); 91 local base_path_len = #event_name:match("(/.+/)%*$")+1;
92 local _handler = handler; 92 local _handler = handler;
93 handler = function (event) 93 handler = function (event)
94 local path = event.request.path:sub(#base_path+1); 94 local path = event.request.path:sub(base_path_len);
95 return _handler(event, path); 95 return _handler(event, path);
96 end; 96 end;
97 end 97 end
98 if not app_handlers[event_name] then 98 if not app_handlers[event_name] then
99 app_handlers[event_name] = handler; 99 app_handlers[event_name] = handler;