aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/httpserver.lua9
-rw-r--r--plugins/mod_bosh.lua4
2 files changed, 7 insertions, 6 deletions
diff --git a/net/httpserver.lua b/net/httpserver.lua
index 699e0324..57c8eede 100644
--- a/net/httpserver.lua
+++ b/net/httpserver.lua
@@ -37,6 +37,7 @@ local function send_response(request, response)
-- Write status line
local resp;
if response.body then
+ local body = tostring(response.body);
log("debug", "Sending response to %s", request.id);
resp = { "HTTP/1.0 ", response.status or "200 OK", "\r\n"};
local h = response.headers;
@@ -48,15 +49,15 @@ local function send_response(request, response)
t_insert(resp, "\r\n");
end
end
- if response.body and not (h and h["Content-Length"]) then
+ if not (h and h["Content-Length"]) then
t_insert(resp, "Content-Length: ");
- t_insert(resp, #response.body);
+ t_insert(resp, #body);
t_insert(resp, "\r\n");
end
t_insert(resp, "\r\n");
- if response.body and request.method ~= "HEAD" then
- t_insert(resp, response.body);
+ if request.method ~= "HEAD" then
+ t_insert(resp, body);
end
else
-- Response we have is just a string (the body)
diff --git a/plugins/mod_bosh.lua b/plugins/mod_bosh.lua
index 744893c4..743ebdef 100644
--- a/plugins/mod_bosh.lua
+++ b/plugins/mod_bosh.lua
@@ -136,8 +136,8 @@ function stream_callbacks.streamopened(request, attr)
if not hosts[attr.to] then
-- Unknown host
log("debug", "BOSH client tried to connect to unknown host: %s", tostring(attr.to));
- session_close_reply.attr.condition = "host-unknown";
- request:send{ headers = default_headers, body = tostring(session_close_reply) };
+ session_close_reply.body.attr.condition = "host-unknown";
+ request:send(session_close_reply);
request.notopen = nil
return;
end