master
Bel LaPointe 2022-02-08 11:26:11 -07:00
parent 633212b050
commit 57f24b2f33
2 changed files with 9 additions and 7 deletions

View File

@ -71,6 +71,13 @@ func (server *Server) apiV0TreeHandler(w http.ResponseWriter, r *http.Request) e
return json.NewEncoder(w).Encode(branches)
}
func ensureAndWrite(p string, b []byte) error {
if err := os.MkdirAll(path.Dir(p), os.ModePerm); err != nil {
return err
}
return ioutil.WriteFile(p, b, os.ModePerm)
}
func (server *Server) apiV0MediaHandler(w http.ResponseWriter, r *http.Request) error {
if r.Method != http.MethodPost {
http.NotFound(w, r)
@ -81,8 +88,7 @@ func (server *Server) apiV0MediaHandler(w http.ResponseWriter, r *http.Request)
return err
}
id := uuid.New().String()
os.MkdirAll(path.Dir(server.diskMediaPath(id)), os.ModePerm)
if err := ioutil.WriteFile(server.diskMediaPath(id), b, os.ModePerm); err != nil {
if err := ensureAndWrite(server.diskMediaPath(id), b); err != nil {
return err
}
return json.NewEncoder(w).Encode(map[string]map[string]string{

View File

@ -2,11 +2,8 @@ package main
import (
"bytes"
"io/ioutil"
"net/http"
"net/http/httptest"
"os"
"path"
"testing"
)
@ -16,8 +13,7 @@ func TestServerRoutes(t *testing.T) {
t.Fatal(err)
}
os.MkdirAll(path.Dir(server.diskMediaPath("id")), os.ModePerm)
ioutil.WriteFile(server.diskMediaPath("id"), []byte("hi"), os.ModePerm)
ensureAndWrite(server.diskMediaPath("id"), []byte("hi"))
cases := map[string]struct {
path string