aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorXe Iaso <me@xeiaso.net>2023-08-02 07:24:35 -0400
committerXe Iaso <me@xeiaso.net>2023-08-02 07:24:35 -0400
commit3473dd3f47a405a610e50949e6c38ed60e0ad0c7 (patch)
treeb66172016c074493eea1373fea8388609ee28a61 /internal
parent8b3c21be2f6c51e0e26e283d40439bb67fd1151c (diff)
downloadx-3473dd3f47a405a610e50949e6c38ed60e0ad0c7.tar.xz
x-3473dd3f47a405a610e50949e6c38ed60e0ad0c7.zip
some more slog fun
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'internal')
-rw-r--r--internal/slog/slog.go31
1 files changed, 17 insertions, 14 deletions
diff --git a/internal/slog/slog.go b/internal/slog/slog.go
index cdb83b9..1c01bab 100644
--- a/internal/slog/slog.go
+++ b/internal/slog/slog.go
@@ -40,23 +40,26 @@ func Init() {
http.HandleFunc("/.within/debug/slog-level", func(w http.ResponseWriter, r *http.Request) {
var level, old slog.Level
- defer r.Body.Close()
-
old = leveler.Level()
- data, err := io.ReadAll(http.MaxBytesReader(w, r.Body, 64))
- if err != nil {
- http.Error(w, err.Error(), http.StatusBadRequest)
- return
- }
+ if r.Method == http.MethodPost {
+ data, err := io.ReadAll(http.MaxBytesReader(w, r.Body, 64))
+ defer r.Body.Close()
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusBadRequest)
+ return
+ }
- if err := (&level).UnmarshalText(data); err != nil {
- http.Error(w, err.Error(), http.StatusBadRequest)
- return
- }
+ if err := (&level).UnmarshalText(data); err != nil {
+ http.Error(w, err.Error(), http.StatusBadRequest)
+ return
+ }
- leveler.Set(level)
- slog.Info("changed level", "from", old, "to", level)
- fmt.Fprintln(w, level)
+ leveler.Set(level)
+ slog.Info("changed level", "from", old, "to", level)
+ fmt.Fprintln(w, level)
+ } else {
+ fmt.Fprintln(w, old)
+ }
})
}