net.http.server: Don't overwrite existing response.headers when returning a response...
authorMatthew Wild <mwild1@gmail.com>
Sun, 31 Mar 2013 12:45:04 +0000 (13:45 +0100)
committerMatthew Wild <mwild1@gmail.com>
Sun, 31 Mar 2013 12:45:04 +0000 (13:45 +0100)
net/http/server.lua

index 87d82418550489b2e9955abd3a98572ca7008e43..20c2da3e96ab3574652a6d4cbbc2eba3097b76eb 100644 (file)
@@ -219,7 +219,13 @@ function handle_request(conn, request, finish_cb)
                                body = result;
                        elseif result_type == "table" then
                                for k, v in pairs(result) do
-                                       response[k] = v;
+                                       if k ~= "headers" then
+                                               response[k] = v;
+                                       else
+                                               for header_name, header_value in pairs(v) do
+                                                       response.headers[header_name] = header_value;
+                                               end
+                                       end
                                end
                        end
                        response:send(body);