aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2017-04-02 00:24:07 +0200
committerKim Alvefur <zash@zash.se>2017-04-02 00:24:07 +0200
commit3811ceb6cac48480c300c6ed09dc555e5cec754d (patch)
tree145d8406bf680dceda67cb06b17afdeb1947a9da
parentac4e9ca0cc8bd6b946c0820cf24a39c333531a54 (diff)
downloadprosody-3811ceb6cac48480c300c6ed09dc555e5cec754d.tar.gz
prosody-3811ceb6cac48480c300c6ed09dc555e5cec754d.zip
net.http: Pass error all the way to callback
-rw-r--r--net/http.lua6
-rw-r--r--net/http/parser.lua2
2 files changed, 4 insertions, 4 deletions
diff --git a/net/http.lua b/net/http.lua
index dcf94bdd..2fd46db9 100644
--- a/net/http.lua
+++ b/net/http.lua
@@ -68,7 +68,7 @@ end
function listener.ondisconnect(conn, err)
local request = requests[conn];
if request and request.conn then
- request:reader(nil, err);
+ request:reader(nil, err or "closed");
end
requests[conn] = nil;
end
@@ -126,7 +126,7 @@ local function request(u, ex, callback)
local req = url.parse(u);
if not (req and req.host) then
- callback(nil, 0, req);
+ callback("invalid-url", 0, req);
return nil, "invalid-url";
end
@@ -190,7 +190,7 @@ local function request(u, ex, callback)
local handler, conn = server.addclient(host, port_number, listener, "*a", sslctx)
if not handler then
- callback(nil, 0, req);
+ callback(conn, 0, req);
return nil, conn;
end
req.handler, req.conn = handler, conn
diff --git a/net/http/parser.lua b/net/http/parser.lua
index 96d32ec8..4e4ae9fb 100644
--- a/net/http/parser.lua
+++ b/net/http/parser.lua
@@ -46,7 +46,7 @@ function httpstream.new(success_cb, error_cb, parser_type, options_cb)
packet.body = buf;
success_cb(packet);
elseif buf ~= "" then -- unexpected EOF
- error = true; return error_cb();
+ error = true; return error_cb("unexpected-eof");
end
return;
end