From 359f56479abe3248c987c00f32bdac0fa9ee9d10 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Sat, 27 Feb 2021 12:43:37 -0600 Subject: [PATCH] fix api for truncate --- main.go | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index d04c3d7..6570672 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "local/args" + "local/gziphttp" "local/logb" "local/storage" "net/http" @@ -41,13 +42,20 @@ func main() { } func (server server) ServeHTTP(w http.ResponseWriter, r *http.Request) { + if gziphttp.Can(r) { + w2 := gziphttp.New(w) + defer w2.Close() + w = w2 + } fileServer := http.FileServer(http.Dir("./")) switch r.URL.Path { case "/api": + logb.Debug("serving api", r.URL.Path, r.URL.Query()) if err := server.apiHandler(w, r); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } default: + logb.Debug("serving dir", r.URL.Path) fileServer.ServeHTTP(w, r) } } @@ -67,7 +75,7 @@ func (server server) apiHandler(w http.ResponseWriter, r *http.Request) error { default: v, err := server.db.GetStream(key) if err == storage.ErrNotFound { - return nil + return json.NewEncoder(w).Encode(nil) } if err != nil { return err @@ -76,9 +84,15 @@ func (server server) apiHandler(w http.ResponseWriter, r *http.Request) error { return err } case http.MethodPost: - return server.db.SetStream(key, r.Body) + if err := server.db.SetStream(key, r.Body); err != nil { + return err + } + return json.NewEncoder(w).Encode(nil) case http.MethodDelete: - return server.db.SetStream(key, nil) + if err := server.db.SetStream(key, nil); err != nil { + return err + } + return json.NewEncoder(w).Encode(nil) default: http.NotFound(w, r) }