summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Renner Berthing <esmil@mailme.dk>2013-01-30 22:28:00 +0100
committerEmil Renner Berthing <esmil@mailme.dk>2013-01-30 22:28:00 +0100
commitfcd7a3f66598a605145521e584bec37f8de1acd7 (patch)
tree046eded6bb805c6ca214e94fee61ce86795fd907
parent9482bca1c70c9d6f52b2755d513487a5b36b1ebb (diff)
downloadlem-fcd7a3f66598a605145521e584bec37f8de1acd7.tar.gz
lem-fcd7a3f66598a605145521e584bec37f8de1acd7.tar.xz
lem-fcd7a3f66598a605145521e584bec37f8de1acd7.zip
http.server: smarter res:add()
-rw-r--r--lem/hathaway.lua17
-rw-r--r--lem/http/server.lua8
2 files changed, 6 insertions, 19 deletions
diff --git a/lem/hathaway.lua b/lem/hathaway.lua
index 83c192a..7359865 100644
--- a/lem/hathaway.lua
+++ b/lem/hathaway.lua
@@ -106,23 +106,6 @@ do
M.OPTIONSM = match_setter('OPTIONS')
end
- local Response = {}
- Response.__index = Response
- M.Response = Response
-
- function new_response(req)
- local n = 0
- return setmetatable({
- headers = {},
- status = 200,
- version = req.version,
- add = function(self, ...)
- n = n + 1
- self[n] = format(...)
- end
- }, Response)
- end
-
local function check_match(entry, req, res, ok, ...)
if not ok then return false end
local handler = entry[req.method]
diff --git a/lem/http/server.lua b/lem/http/server.lua
index 5e19006..378c8f6 100644
--- a/lem/http/server.lua
+++ b/lem/http/server.lua
@@ -178,9 +178,13 @@ do
return setmetatable({
headers = {},
version = req.version,
- add = function(self, ...)
+ add = function(self, fmt, first, ...)
n = n + 1
- self[n] = format(...)
+ if first then
+ self[n] = format(fmt, first, ...)
+ else
+ self[n] = fmt
+ end
end
}, Response)
end