# HG changeset patch # User Matthew Wild # Date 1283035269 -3600 # Node ID 84fe4d5ac2edddd5dd6703f4f66797ddf25a455d # Parent 61cf3e7d7f07cebe0173d5b7e3e0cba77a0ce1b4 net.httpserver: Join multiple headers with the same name as per RFC (thanks darkhippo) diff -r 61cf3e7d7f07 -r 84fe4d5ac2ed net/httpserver.lua --- a/net/httpserver.lua Sat Aug 28 22:25:12 2010 +0100 +++ b/net/httpserver.lua Sat Aug 28 23:41:09 2010 +0100 @@ -152,7 +152,12 @@ startpos = (startpos or 1) + #line + 2; local k, v = line:match("(%S+): (.+)"); if k and v then - headers[k:lower()] = v; + k = k:lower(); + if headers[k] then + headers[k] = headers[k]..", "..v; + else + headers[k] = v; + end --log("debug", "Header: '"..k:lower().."' = '"..v.."'"); elseif #line == 0 then headers_complete = true;