fix api for truncate
parent
ac68fa5ef4
commit
359f56479a
20
main.go
20
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)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue