aboutsummaryrefslogtreecommitdiff
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
commite9b828c3f14f7c2a13043c02939498027b5616e9 (patch)
treeef0201483c8e22caf65c0faf7e886eed600379bf
parent619bd5e6f1db1ecb45de99b310781f997a39d20c (diff)
downloadprosody-im-server-e9b828c3f14f7c2a13043c02939498027b5616e9.zip
prosody-im-server-e9b828c3f14f7c2a13043c02939498027b5616e9.tar
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]);