data.yaml

This commit is contained in:
Bel LaPointe
2025-10-05 10:44:09 -06:00
parent 5e48c96148
commit 3c60633723
5 changed files with 67 additions and 0 deletions

11
srv/data.yaml Normal file
View File

@@ -0,0 +1,11 @@
routes:
"/diagonalheart/ancestries/clank": ""
"/diagonalheart/ancestries/katari": ""
"/diagonalheart/classes/bard": ""
"/diagonalheart/classes/rogue": ""
"/diagonalheart/weapons/legendary-returning-blade": ""
"/diagonalheart/weapons/ilmaris-rifle": ""
"/diagonalheart/consumables/stardrop": ""
"/diagonalheart/consumables/death-tea": ""
"/diagonalheart/adversaries/tiny-red-ooze": ""
"/diagonalheart/adversaries/young-ice-dragon": ""

5
srv/go.mod Normal file
View File

@@ -0,0 +1,5 @@
module srv
go 1.24.2
require gopkg.in/yaml.v3 v3.0.1 // indirect

3
srv/go.sum Normal file
View File

@@ -0,0 +1,3 @@
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

42
srv/main.go Normal file
View File

@@ -0,0 +1,42 @@
package main
import (
"net/http"
"os"
"gopkg.in/yaml.v3"
)
func main() {
if err := run(); err != nil {
panic(err)
}
}
func run() error {
f := os.Args[1]
b, err := os.ReadFile(f)
if err != nil {
return err
}
var data struct {
Routes map[string]string
}
if err := yaml.Unmarshal(b, &data); err != nil {
return err
}
return http.ListenAndServe(":3001", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
k := r.URL.Path
v, ok := data.Routes[k]
if !ok {
http.NotFound(w, r)
return
}
w.Header().Set("Content-Type", "text/html")
w.Write([]byte(v))
}))
}