From 8ea1a04ab9626b90c22250c4189a540ea0c58c9e Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Fri, 27 Oct 2017 14:08:28 +0200
Subject: net.http.server: Include response object in most http-error events

---
 net/http/server.lua | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

(limited to 'net/http')

diff --git a/net/http/server.lua b/net/http/server.lua
index 8aa28f5c..877c7f17 100644
--- a/net/http/server.lua
+++ b/net/http/server.lua
@@ -229,7 +229,7 @@ function handle_request(conn, request, finish_cb)
 
 	if err then
 		response.status_code = err_code;
-		response:send(events.fire_event("http-error", { code = err_code, message = err }));
+		response:send(events.fire_event("http-error", { code = err_code, message = err, response = response }));
 		return;
 	end
 
@@ -244,7 +244,8 @@ function handle_request(conn, request, finish_cb)
 			if result_type == "number" then
 				response.status_code = result;
 				if result >= 400 then
-					body = events.fire_event("http-error", { code = result });
+					payload.code = result;
+					body = events.fire_event("http-error", payload);
 				end
 			elseif result_type == "string" then
 				body = result;
@@ -266,7 +267,8 @@ function handle_request(conn, request, finish_cb)
 
 	-- if handler not called, return 404
 	response.status_code = 404;
-	response:send(events.fire_event("http-error", { code = 404 }));
+	payload.code = 404;
+	response:send(events.fire_event("http-error", payload));
 end
 local function prepare_header(response)
 	local status_line = "HTTP/"..response.request.httpversion.." "..(response.status or codes[response.status_code]);
-- 
cgit v1.2.3