diff options
-rw-r--r-- | lem/http/server.lua | 6 |
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 |