diff --git a/lapis/cqueues.lua b/lapis/cqueues.lua index 5a8b3e71..a209670a 100644 --- a/lapis/cqueues.lua +++ b/lapis/cqueues.lua @@ -138,7 +138,14 @@ dispatch = function(app, server, stream) local res_headers = http_headers.new() res_headers:append(":status", res.status and string.format("%d", res.status) or "200") for k, v in pairs(res.headers) do - res_headers:append(k, v) + if type(v) == "table" then + for _index_0 = 1, #v do + local vv = v[_index_0] + res_headers:append(k, tostring(vv)) + end + else + res_headers:append(k, tostring(v)) + end end stream:write_headers(res_headers, not res.content) if res.content then diff --git a/lapis/cqueues.moon b/lapis/cqueues.moon index 94cab676..f1b7959a 100644 --- a/lapis/cqueues.moon +++ b/lapis/cqueues.moon @@ -151,7 +151,11 @@ dispatch = (app, server, stream) -> res_headers\append ":status", res.status and string.format("%d", res.status) or "200" for k,v in pairs res.headers - res_headers\append k,v + if type(v) == "table" + for vv in *v + res_headers\append k, tostring(vv) + else + res_headers\append k, tostring(v) stream\write_headers res_headers, not res.content