diff --git a/spike/review/reinvent/ezmded/server/server.go b/spike/review/reinvent/ezmded/server/server.go index fa031bf..4394a01 100644 --- a/spike/review/reinvent/ezmded/server/server.go +++ b/spike/review/reinvent/ezmded/server/server.go @@ -102,11 +102,19 @@ func (server *Server) apiV0MediaIDHandler(w http.ResponseWriter, r *http.Request switch r.Method { case http.MethodGet: return server.apiV0MediaIDGetHandler(w, r) + case http.MethodDelete: + return server.apiV0MediaIDDelHandler(w, r) } http.NotFound(w, r) return nil } +func (server *Server) apiV0MediaIDDelHandler(w http.ResponseWriter, r *http.Request) error { + id := path.Base(r.URL.Path) + os.Remove(server.diskMediaPath(id)) + return nil +} + func (server *Server) apiV0MediaIDGetHandler(w http.ResponseWriter, r *http.Request) error { id := path.Base(r.URL.Path) f, err := os.Open(server.diskMediaPath(id)) diff --git a/spike/review/reinvent/ezmded/server/server_test.go b/spike/review/reinvent/ezmded/server/server_test.go index e5bdd6c..3bcf473 100644 --- a/spike/review/reinvent/ezmded/server/server_test.go +++ b/spike/review/reinvent/ezmded/server/server_test.go @@ -14,6 +14,7 @@ func TestServerRoutes(t *testing.T) { } ensureAndWrite(server.diskMediaPath("id"), []byte("hi")) + ensureAndWrite(server.diskMediaPath("delid"), []byte("hi")) cases := map[string]struct { path string @@ -35,6 +36,10 @@ func TestServerRoutes(t *testing.T) { path: "/api/v0/media", method: http.MethodPost, }, + "v0: media id: del": { + path: "/api/v0/media/delid", + method: http.MethodDelete, + }, "v0: media id: get": { path: "/api/v0/media/id", method: http.MethodGet,