31 lines
762 B
Lua
31 lines
762 B
Lua
|
#!/usr/bin/env lua5.4
|
||
|
|
||
|
local unix = require('unix')
|
||
|
local hlib = require('hlib')
|
||
|
local fmt = string.format
|
||
|
|
||
|
local g_version = "1.1"
|
||
|
local g_status_msg = {[200]="OK"}
|
||
|
|
||
|
local sock = unix.socket(unix.AF_INET, unix.SOCK_STREAM, 0)
|
||
|
unix.setsockopt(sock, unix.SOL_SOCKET, unix.SO_REUSEADDR, 1)
|
||
|
|
||
|
local listenaddr = unix.getaddrinfo("0.0.0.0","8080")()
|
||
|
local b = unix.bind(sock, listenaddr)
|
||
|
if not b then print("error binding socket") return end
|
||
|
|
||
|
unix.listen(sock, 1024)
|
||
|
|
||
|
while true do
|
||
|
unix.sleep(0.05)
|
||
|
local csock = unix.accept(sock, 0)
|
||
|
local msg = unix.recv(csock, 1024)
|
||
|
if msg then
|
||
|
local req = hlib.parse_request(msg)
|
||
|
local data = hlib.response(req.path, 200, "test")
|
||
|
unix.send(csock, data)
|
||
|
end
|
||
|
unix.shutdown(csock, 0)
|
||
|
unix.close(csock)
|
||
|
end
|