aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-10-14 14:31:59 +0200
committerKim Alvefur <zash@zash.se>2018-10-14 14:31:59 +0200
commit41abd787baed57bd35beb1745067b0be4b3fa185 (patch)
tree34780f34fa2362994aec9153e0ed7db7c1feda7b
parenta14a75fb1800dd94c8240ceb02a769e7e67f3628 (diff)
downloadprosody-41abd787baed57bd35beb1745067b0be4b3fa185.tar.gz
prosody-41abd787baed57bd35beb1745067b0be4b3fa185.zip
mod_http: Move normalize_path to util.http
-rw-r--r--plugins/mod_http.lua11
-rw-r--r--util/http.lua11
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;
};