#!/usr/bin/env lua5.4 local unix = require('unix') local hlib = require('hlib') local sock = unix.socket(unix.AF_INET, unix.SOCK_STREAM, 0) unix.setsockopt(sock, unix.SOL_SOCKET, unix.SO_LINGER|unix.SO_REUSEADDR|15, 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) local csock = unix.accept(sock, 0) while true do unix.sleep(0.001) 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, unix.SHUT_RDWR) unix.close(csock) csock = unix.accept(sock, 0) end