Merge 0.6->0.7
[prosody.git] / net / http.lua
index 63ae31adae01a0c1b7a017ddec49a35964767bac..0634d77391b72015f90e40571a60844c0776d776 100644 (file)
@@ -17,9 +17,8 @@ local connlisteners_get = require "net.connlisteners".get;
 local listener = connlisteners_get("httpclient") or error("No httpclient listener!");
 
 local t_insert, t_concat = table.insert, table.concat;
-local pairs, ipairs = pairs, ipairs;
-local tonumber, tostring, xpcall, select, debug_traceback, char, format =
-      tonumber, tostring, xpcall, select, debug.traceback, string.char, string.format;
+local tonumber, tostring, pairs, xpcall, select, debug_traceback, char, format =
+        tonumber, tostring, pairs, xpcall, select, debug.traceback, string.char, string.format;
 
 local log = require "util.logger".init("http");
 
@@ -28,28 +27,11 @@ module "http"
 function urlencode(s) return s and (s:gsub("%W", function (c) return format("%%%02x", c:byte()); end)); end
 function urldecode(s) return s and (s:gsub("%%(%x%x)", function (c) return char(tonumber(c,16)); end)); end
 
-local function _formencodepart(s)
-       return s and (s:gsub("%W", function (c)
-               if c ~= " " then
-                       return format("%%%02x", c:byte());
-               else
-                       return "+";
-               end
-       end));
-end
-function formencode(form)
-       local result = {};
-       for _, field in ipairs(form) do
-               t_insert(result, _formencodepart(field.name).."=".._formencodepart(field.value));
-       end
-       return t_concat(result, "&");
-end
-
 local function expectbody(reqt, code)
-       if reqt.method == "HEAD" then return nil end
-       if code == 204 or code == 304 or code == 301 then return nil end
-       if code >= 100 and code < 200 then return nil end
-       return 1
+    if reqt.method == "HEAD" then return nil end
+    if code == 204 or code == 304 or code == 301 then return nil end
+    if code >= 100 and code < 200 then return nil end
+    return 1
 end
 
 local function request_reader(request, data, startpos)