all repos — memnarch @ 773810957fbdb805eff1258bf032ebfe7302106f

featherweight orchestrator

basic test to spit the json back out
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQR2zYvweXfSPsSU6pP1Tg1AaVJx1AUCZOmN/wAKCRD1Tg1AaVJx
1L7YAQD/FPymPaRoYK51ke53qG9TLgbufsPzTFZiKGcfao2sigD+Ld9H+nLUSrZC
FD5+ECPQ8QF+gck9Edh9RikhPvgyxQk=
=5WKM
-----END PGP SIGNATURE-----
commit

773810957fbdb805eff1258bf032ebfe7302106f

parent

f72bab1b103bf508c370dd2f4f834c8b508579e9

5 files changed, 66 insertions(+), 0 deletions(-)

jump to
A .gitignore

@@ -0,0 +1,1 @@

+memnarch
A go.mod

@@ -0,0 +1,5 @@

+module forge.lightcrystal.systems/lightcrystal/memnarch + +go 1.20 + +require hacklab.nilfm.cc/quartzgun v0.3.2
A go.sum

@@ -0,0 +1,2 @@

+hacklab.nilfm.cc/quartzgun v0.3.2 h1:PmRFZ/IgsXVWyNn1iOsQ/ZeMnOQIQy0PzFakhXBdZoU= +hacklab.nilfm.cc/quartzgun v0.3.2/go.mod h1:P6qK4HB0CD/xfyRq8wdEGevAPFDDmv0KCaESSvv93LU=
A main.go

@@ -0,0 +1,55 @@

+package main + +import ( + + "encoding/json" + "fmt" + "html/template" + "os" + "net/http" + + "hacklab.nilfm.cc/quartzgun/renderer" + "hacklab.nilfm.cc/quartzgun/router" + . "hacklab.nilfm.cc/quartzgun/util" + +) + +func testPayload(next http.Handler) http.Handler { + handler := func(w http.ResponseWriter, req *http.Request) { + data := &map[string]interface{}{} + + err := json.NewDecoder(req.Body).Decode(data) + + if err == nil { + AddContextValue(req, "data", data) + } else { + AddContextValue(req, "data", err.Error()) + } + + next.ServeHTTP(w, req) + } + + return http.HandlerFunc(handler) +} + +func run(args []string) error { + rtr := &router.Router{ + Fallback: *template.Must(template.ParseFiles("templates/error.html")), + } + + rtr.Post("/api/test", testPayload(renderer.JSON("data"))) + + + http.ListenAndServe(":9999", rtr); + return nil +} + +func main () { + err := run(os.Args) + if err == nil { + os.Exit(0) + } else { + fmt.Println(err.Error()) + os.Exit(1) + } +}
A templates/error.html

@@ -0,0 +1,3 @@

+<h1>500</h1> + +<p>ya done fucked up kid</p>