aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2009-08-05 03:07:45 +0100
committerMatthew Wild <mwild1@gmail.com>2009-08-05 03:07:45 +0100
commit954ab725367d274e814a6cf1fe9b3bad836315b0 (patch)
tree10f9f1618921a60ea4b0703e7ebabac225012506 /net
parenta9648ac8e3d2b4123439a93f8cfe0a671e3e6fe9 (diff)
downloadprosody-954ab725367d274e814a6cf1fe9b3bad836315b0.tar.gz
prosody-954ab725367d274e814a6cf1fe9b3bad836315b0.zip
net.httpserver: Allow response.body to be a non-string
Diffstat (limited to 'net')
-rw-r--r--net/httpserver.lua9
1 files changed, 5 insertions, 4 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)