summaryrefslogtreecommitdiffstats
path: root/lem/http/server.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lem/http/server.lua')
-rw-r--r--lem/http/server.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/lem/http/server.lua b/lem/http/server.lua
index b222c09..72b8998 100644
--- a/lem/http/server.lua
+++ b/lem/http/server.lua
@@ -39,13 +39,17 @@ local Request = {}
Request.__index = Request
M.Request = Request
-function Request:body()
+function Request:body(maxsize)
local len, body = self.headers['content-length'], ''
if not len then return body end
len = tonumber(len)
if len <= 0 then return body end
+ if maxsize and len > maxsize then
+ return nil, 'oversized'
+ end
+
if self.headers['expect'] == '100-continue' then
local ok, err = self.client:write('HTTP/1.1 100 Continue\r\n\r\n')
if not ok then return nil, err end