net.httpserver: Make it possible to return responses with no body

vault/0.11
Matthew Wild 17 years ago
parent 4c3707ec7b
commit e79181eab3
  1. 8
      net/httpserver.lua

@ -36,8 +36,8 @@ end
local function send_response(request, response)
-- Write status line
local resp;
if response.body then
local body = tostring(response.body);
if response.body or response.headers then
local body = response.body and 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;
@ -49,14 +49,14 @@ local function send_response(request, response)
t_insert(resp, "\r\n");
end
end
if not (h and h["Content-Length"]) then
if body and not (h and h["Content-Length"]) then
t_insert(resp, "Content-Length: ");
t_insert(resp, #body);
t_insert(resp, "\r\n");
end
t_insert(resp, "\r\n");
if request.method ~= "HEAD" then
if body and request.method ~= "HEAD" then
t_insert(resp, body);
end
else

Loading…
Cancel
Save