lua_http_server/http.lua
2024-06-02 17:02:36 +02:00

31 lines
762 B
Lua
Executable File

#!/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