From 3e7bffe8c8c5c1ee0022dca4d1a5bb7b16d78b1b Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Sun, 2 Apr 2017 00:24:07 +0200
Subject: net.http: Pass error all the way to callback

---
 net/http.lua        | 6 +++---
 net/http/parser.lua | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

(limited to 'net')

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
-- 
cgit v1.2.3