feat: add http.lua

This commit is contained in:
Fey Naomi Schrewe 2026-01-18 16:48:33 +01:00
parent a46f74b94d
commit 264b39d926
2 changed files with 45 additions and 0 deletions

21
src/log.fnl Normal file
View File

@ -0,0 +1,21 @@
(local levels {:debug 1
:info 2
:warn 3})
(local min-level
(if
(os.getenv :DEBUG) 1
(os.getenv :QUIET) 3
2))
(fn log [level fmt ...]
(when (>= (or (. levels level) 0) min-level)
(print (string.format "%s: %s"
level
(string.format fmt ...)))))
{: log
:info (partial log :info)
:warn (partial log :warn)
:debug (partial log :debug)}

24
src/serve.fnl Normal file
View File

@ -0,0 +1,24 @@
(local {:listen new-server} (require :http.server))
(local {: dofile} (require :fennel))
(local {: info} (require :log))
(local {: host : port} (dofile :config.fnl))
(fn on-stream [_server stream]
(stream:get_headers)
(info "received request")
(stream:write_headers {:status 200})
(stream:write_body_from_string :hi))
(local server
(assert (new-server
{:onstream on-stream
; let the reverse proxy handle tls
:tls false
: host
: port})))
(info "starting server")
(assert (server:listen))
(local (_ address port) (server:localname))
(info "listening on %s:%d" address port)
(assert (server:loop))