From 2dd4cf35aab8324608a83d337459fd8354521b92 Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Mon, 27 May 2024 22:36:50 +0200 Subject: feat: Wraps handler into its own package Although this creates more complex folder structure will allow in the feature for a easier testing of those given handlers. --- pkg/handler/status.go | 62 --------------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 pkg/handler/status.go (limited to 'pkg/handler/status.go') diff --git a/pkg/handler/status.go b/pkg/handler/status.go deleted file mode 100644 index 9baac2c..0000000 --- a/pkg/handler/status.go +++ /dev/null @@ -1,62 +0,0 @@ -package handler - -import ( - "bytes" - "encoding/json" - "log/slog" - "net/http" - "os" - - "github.com/alecthomas/chroma/v2/formatters/html" - "github.com/alecthomas/chroma/v2/lexers" - "github.com/alecthomas/chroma/v2/styles" - - "git.gabrielgio.me/cerrado/pkg/config" - "git.gabrielgio.me/cerrado/templates" -) - -func ConfigFile(configPath string) func(http.ResponseWriter, *http.Request) { - return func(w http.ResponseWriter, _ *http.Request) { - f, err := os.Open(configPath) - if err != nil { - slog.Error("Error openning config file", "error", err, "path", configPath) - return - } - - c, err := config.Parse(f) - if err != nil { - slog.Error("Error parsing config", "error", err, "path", configPath) - return - } - - b, err := json.MarshalIndent(c, "", " ") - if err != nil { - slog.Error("Error parsing json", "error", err) - return - } - - lexer := lexers.Get("json") - style := styles.Get("monokailight") - formatter := html.New( - html.WithLineNumbers(true), - ) - iterator, err := lexer.Tokenise(nil, string(b)) - if err != nil { - slog.Error("Error tokenise", "error", err) - return - } - - var code bytes.Buffer - err = formatter.Format(&code, style, iterator) - if err != nil { - slog.Error("Error format", "error", err) - return - } - - hello := &templates.HelloPage{ - Body: code.Bytes(), - } - - templates.WritePageTemplate(w, hello) - } -} -- cgit v1.2.3