net.httpserver: Removed unused import and variables.
[prosody.git] / net / httpserver.lua
index 4c1200acd7df2bf282dda7565a53c97cb8890f22..d401f47c6552e8c7f4855eea084433ee31f0b4bb 100644 (file)
@@ -7,7 +7,6 @@
 --
 
 
-local socket = require "socket"
 local server = require "net.server"
 local url_parse = require "socket.url".parse;
 local httpstream_new = require "util.httpstream".new;
@@ -17,10 +16,9 @@ local connlisteners_get = require "net.connlisteners".get;
 local listener;
 
 local t_insert, t_concat = table.insert, table.concat;
-local s_match, s_gmatch = string.match, string.gmatch;
 local tonumber, tostring, pairs, ipairs, type = tonumber, tostring, pairs, ipairs, type;
 
-local urlencode = function (s) return s and (s:gsub("%W", function (c) return string.format("%%%02x", c:byte()); end)); end
+local urlencode = function (s) return s and (s:gsub("%W", function (c) return ("%%%02x"):format(c:byte()); end)); end
 
 local log = require "util.logger".init("httpserver");
 
@@ -119,6 +117,7 @@ local function request_reader(request, data, startpos)
                local function success_cb(r)
                        for k,v in pairs(r) do request[k] = v; end
                        request.url = url_parse(request.path);
+                       request.url.path = request.url.path and request.url.path:gsub("%%(%x%x)", function(x) return x.char(tonumber(x, 16)) end);
                        request.body = { request.body };
                        call_callback(request);
                end