diff options
-rw-r--r-- | plugins/mod_http.lua | 11 | ||||
-rw-r--r-- | util/http.lua | 11 |
2 files changed, 12 insertions, 10 deletions
diff --git a/plugins/mod_http.lua b/plugins/mod_http.lua index 19f1e2fa..a1d409bd 100644 --- a/plugins/mod_http.lua +++ b/plugins/mod_http.lua @@ -13,6 +13,7 @@ local portmanager = require "core.portmanager"; local moduleapi = require "core.moduleapi"; local url_parse = require "socket.url".parse; local url_build = require "socket.url".build; +local normalize_path = require "util.http".normalize_path; local server = require "net.http.server"; @@ -21,16 +22,6 @@ server.set_default_host(module:get_option_string("http_default_host")); server.set_option("body_size_limit", module:get_option_number("http_max_content_size")); server.set_option("buffer_size_limit", module:get_option_number("http_max_buffer_size")); -local function normalize_path(path, is_dir) - if is_dir then - if path:sub(-1,-1) ~= "/" then path = path.."/"; end - else - if path:sub(-1,-1) == "/" then path = path:sub(1, -2); end - end - if path:sub(1,1) ~= "/" then path = "/"..path; end - return path; -end - local function get_http_event(host, app_path, key) local method, path = key:match("^(%S+)%s+(.+)$"); if not method then -- No path specified, default to "" (base path) diff --git a/util/http.lua b/util/http.lua index f7259920..cfb89193 100644 --- a/util/http.lua +++ b/util/http.lua @@ -57,8 +57,19 @@ local function contains_token(field, token) return field:find(","..token:lower()..",", 1, true) ~= nil; end +local function normalize_path(path, is_dir) + if is_dir then + if path:sub(-1,-1) ~= "/" then path = path.."/"; end + else + if path:sub(-1,-1) == "/" then path = path:sub(1, -2); end + end + if path:sub(1,1) ~= "/" then path = "/"..path; end + return path; +end + return { urlencode = urlencode, urldecode = urldecode; formencode = formencode, formdecode = formdecode; contains_token = contains_token; + normalize_path = normalize_path; }; |