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

View File

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