Mercurial > prosody-modules
changeset 382:19469f3ad6d6
mod_muc_log_http: Cleaned up URL parsing.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Mon, 25 Jul 2011 02:21:40 +0500 |
parents | f932dc371ce7 |
children | 4099f0837936 |
files | mod_muc_log_http/muc_log_http/mod_muc_log_http.lua |
diffstat | 1 files changed, 4 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_muc_log_http/muc_log_http/mod_muc_log_http.lua Mon Jul 25 02:21:40 2011 +0500 +++ b/mod_muc_log_http/muc_log_http/mod_muc_log_http.lua Mon Jul 25 02:21:40 2011 +0500 @@ -100,38 +100,6 @@ return t; end -function splitUrl(url) - local tmp = url:sub(string.len("/muc_log/") + 1); - local day = nil; - local room = nil; - local component = nil; - local at = nil; - local slash = nil; - local slash2 = nil; - - slash = tmp:find("/"); - if slash then - component = tmp:sub(1, slash - 1); - if tmp:len() > slash then - room = tmp:sub(slash + 1); - slash = room:find("/"); - if slash then - tmp = room; - room = tmp:sub(1, slash - 1); - if tmp:len() > slash then - day = tmp:sub(slash + 1); - slash = day:find("/"); - if slash then - day = day:sub(1, slash - 1); - end - end - end - end - end - - return room, component, day; -end - local function generateComponentListSiteContent() local components = ""; for component,muc_host in pairs(muc_hosts or {}) do @@ -693,7 +661,10 @@ end function handle_request(method, body, request) - local node, host, day = splitUrl(request.url.path); + local host, node, day = request.url.path:match("^/muc_log/([^/]*)/?([^/]*)/?([^/]*)/?$"); + if host == "" then host = nil; end + if node == "" then node = nil; end + if day == "" then day = nil; end node = urldecode(node);