diff options
| author | Xe Iaso <me@xeiaso.net> | 2023-08-02 07:24:35 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2023-08-02 07:24:35 -0400 |
| commit | 3473dd3f47a405a610e50949e6c38ed60e0ad0c7 (patch) | |
| tree | b66172016c074493eea1373fea8388609ee28a61 /internal | |
| parent | 8b3c21be2f6c51e0e26e283d40439bb67fd1151c (diff) | |
| download | x-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.go | 31 |
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) + } }) } |
