From 633212b0501599cf34e91efdc713a54c05d9d6e8 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Tue, 8 Feb 2022 10:59:35 -0700 Subject: [PATCH] to helper foo --- spike/review/reinvent/ezmded/server/server.go | 19 ++++++++++++++++--- .../reinvent/ezmded/server/server_test.go | 4 ++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/spike/review/reinvent/ezmded/server/server.go b/spike/review/reinvent/ezmded/server/server.go index e5cc95a..0676b82 100644 --- a/spike/review/reinvent/ezmded/server/server.go +++ b/spike/review/reinvent/ezmded/server/server.go @@ -81,8 +81,8 @@ func (server *Server) apiV0MediaHandler(w http.ResponseWriter, r *http.Request) return err } id := uuid.New().String() - os.MkdirAll(path.Join(server.root, "media"), os.ModePerm) - if err := ioutil.WriteFile(path.Join(server.root, "media", id), b, os.ModePerm); err != nil { + os.MkdirAll(path.Dir(server.diskMediaPath(id)), os.ModePerm) + if err := ioutil.WriteFile(server.diskMediaPath(id), b, os.ModePerm); err != nil { return err } return json.NewEncoder(w).Encode(map[string]map[string]string{ @@ -93,8 +93,17 @@ func (server *Server) apiV0MediaHandler(w http.ResponseWriter, r *http.Request) } func (server *Server) apiV0MediaIDHandler(w http.ResponseWriter, r *http.Request) error { + switch r.Method { + case http.MethodGet: + return server.apiV0MediaIDGetHandler(w, r) + } + http.NotFound(w, r) + return nil +} + +func (server *Server) apiV0MediaIDGetHandler(w http.ResponseWriter, r *http.Request) error { id := path.Base(r.URL.Path) - f, err := os.Open(path.Join(server.root, "media", id)) + f, err := os.Open(server.diskMediaPath(id)) if os.IsNotExist(err) { http.NotFound(w, r) return nil @@ -126,3 +135,7 @@ func (server *Server) rootHandler(w http.ResponseWriter, r *http.Request) error func (server *Server) tree() *Tree { return NewTree(path.Join(server.root, "tree.yaml")) } + +func (server *Server) diskMediaPath(id string) string { + return path.Join(server.root, "media", id) +} diff --git a/spike/review/reinvent/ezmded/server/server_test.go b/spike/review/reinvent/ezmded/server/server_test.go index d1fed8a..ee982ec 100644 --- a/spike/review/reinvent/ezmded/server/server_test.go +++ b/spike/review/reinvent/ezmded/server/server_test.go @@ -16,8 +16,8 @@ func TestServerRoutes(t *testing.T) { t.Fatal(err) } - os.MkdirAll(path.Join(server.root, "media"), os.ModePerm) - ioutil.WriteFile(path.Join(server.root, "media", "id"), []byte("hi"), os.ModePerm) + os.MkdirAll(path.Dir(server.diskMediaPath("id")), os.ModePerm) + ioutil.WriteFile(server.diskMediaPath("id"), []byte("hi"), os.ModePerm) cases := map[string]struct { path string