simple httpd

This commit is contained in:
Cloud Wu
2014-07-22 21:38:44 +08:00
parent 362d6822bf
commit 932b2943dc
3 changed files with 285 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
local socket = require "socket"
local readline = socket.readline
local readbytes = socket.read
local writebytes = socket.write
local sockethelper = {}
local socket_error = {}
sockethelper.socket_error = socket_error
function sockethelper.readfunc(fd)
local helper = {}
function helper.readline()
local ret = readline(fd, "\r\n")
if ret then
return ret
else
error(socket_error)
end
end
function helper.readbytes(sz)
local ret = readbytes(fd, sz)
if ret then
return ret
else
error(socket_error)
end
end
return helper
end
function sockethelper.writefunc(fd)
return function(content)
local ok = writebytes(fd, content)
if not ok then
error(socket_error)
end
end
end
return sockethelper