aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2017-10-27 14:08:28 +0200
committerKim Alvefur <zash@zash.se>2017-10-27 14:08:28 +0200
commit843edf3cb1f16ef3e3b3c272e424ec3d3e5192e3 (patch)
tree2771a69fe209a5e555caf86d1d2749903abdd72f
parentefcd11b5412ffae04c6cab377c1a5a757ca1acb9 (diff)
downloadprosody-843edf3cb1f16ef3e3b3c272e424ec3d3e5192e3.tar.gz
prosody-843edf3cb1f16ef3e3b3c272e424ec3d3e5192e3.zip
net.http.server: Include response object in most http-error events
-rw-r--r--net/http/server.lua8
1 files changed, 5 insertions, 3 deletions
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]);