basic test to spit the json back out

This commit is contained in:
Iris Lightshard 2023-08-25 23:30:39 -06:00
parent f72bab1b10
commit 773810957f
Signed by: Iris Lightshard
GPG key ID: F54E0D40695271D4
5 changed files with 66 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
memnarch

5
go.mod Normal file
View file

@ -0,0 +1,5 @@
module forge.lightcrystal.systems/lightcrystal/memnarch
go 1.20
require hacklab.nilfm.cc/quartzgun v0.3.2

2
go.sum Normal file
View file

@ -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=

55
main.go Normal file
View file

@ -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)
}
}

3
templates/error.html Normal file
View file

@ -0,0 +1,3 @@
<h1>500</h1>
<p>ya done fucked up kid</p>