lua_http_server/http.lua

28 lines
738 B
Lua
Raw Permalink Normal View History

2024-06-02 17:02:36 +02:00
#!/usr/bin/env lua5.4
local unix = require('unix')
local hlib = require('hlib')
local sock = unix.socket(unix.AF_INET, unix.SOCK_STREAM, 0)
2024-06-12 22:29:03 +02:00
unix.setsockopt(sock, unix.SOL_SOCKET, unix.SO_LINGER|unix.SO_REUSEADDR|15, 1)
2024-06-02 17:02:36 +02:00
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)
2024-06-12 22:29:03 +02:00
local csock = unix.accept(sock, 0)
2024-06-02 17:02:36 +02:00
while true do
2024-06-12 22:29:03 +02:00
unix.sleep(0.001)
2024-06-02 17:02:36 +02:00
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
2024-06-12 22:29:03 +02:00
unix.shutdown(csock, unix.SHUT_RDWR)
2024-06-02 17:02:36 +02:00
unix.close(csock)
2024-06-12 22:29:03 +02:00
csock = unix.accept(sock, 0)
2024-06-02 17:02:36 +02:00
end