grafana-sms-alert/server.fnl

31 lines
774 B
Fennel

(local server (require :http.server))
(local headers (require :http.headers))
(local json (require :dkjson))
(fn on-stream [handler sv out]
(let [hdrs (out:get_headers)
method (hdrs:get ":method")
path (or (hdrs:get ":path") "/")
rh (headers.new)]
(rh:append ":status" :200)
(rh:append :content-type :text/plain)
(out:write_headers rh false)
(print "got oune" handler)
(let [(obj pos err) (json.decode (out:get_body_as_string) 1 nil)
ret (handler obj)]
(out:write_chunk ret true))))
(fn new-server [handler]
(server.listen
{
:host :localhost
:port 8201
:onstream (partial on-stream handler)
}))
{ :new new-server }
;(srv:listen)
;(srv:loop)