fix api for truncate
parent
ac68fa5ef4
commit
359f56479a
20
main.go
20
main.go
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"local/args"
|
"local/args"
|
||||||
|
"local/gziphttp"
|
||||||
"local/logb"
|
"local/logb"
|
||||||
"local/storage"
|
"local/storage"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
@ -41,13 +42,20 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (server server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
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("./"))
|
fileServer := http.FileServer(http.Dir("./"))
|
||||||
switch r.URL.Path {
|
switch r.URL.Path {
|
||||||
case "/api":
|
case "/api":
|
||||||
|
logb.Debug("serving api", r.URL.Path, r.URL.Query())
|
||||||
if err := server.apiHandler(w, r); err != nil {
|
if err := server.apiHandler(w, r); err != nil {
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
logb.Debug("serving dir", r.URL.Path)
|
||||||
fileServer.ServeHTTP(w, r)
|
fileServer.ServeHTTP(w, r)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -67,7 +75,7 @@ func (server server) apiHandler(w http.ResponseWriter, r *http.Request) error {
|
||||||
default:
|
default:
|
||||||
v, err := server.db.GetStream(key)
|
v, err := server.db.GetStream(key)
|
||||||
if err == storage.ErrNotFound {
|
if err == storage.ErrNotFound {
|
||||||
return nil
|
return json.NewEncoder(w).Encode(nil)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
@ -76,9 +84,15 @@ func (server server) apiHandler(w http.ResponseWriter, r *http.Request) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
case http.MethodPost:
|
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:
|
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:
|
default:
|
||||||
http.NotFound(w, r)
|
http.NotFound(w, r)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue