From 60c790e068e2cd875fe48dfdf36ea344a97c78e1 Mon Sep 17 00:00:00 2001 From: Gabriel Belinsky Date: Thu, 21 Sep 2023 10:45:47 -0700 Subject: [PATCH] Introduce chi router --- go.mod | 6 +++++- internal/apiServer/apiServer.go | 18 ++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 08a9aa8..5722e37 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,12 @@ module dread.land/deepgram-demo go 1.19 +require ( + github.com/go-audio/wav v1.1.0 + github.com/go-chi/chi/v5 v5.0.10 +) + require ( github.com/go-audio/audio v1.0.0 // indirect github.com/go-audio/riff v1.0.0 // indirect - github.com/go-audio/wav v1.1.0 ) diff --git a/internal/apiServer/apiServer.go b/internal/apiServer/apiServer.go index 32da09a..e36b716 100644 --- a/internal/apiServer/apiServer.go +++ b/internal/apiServer/apiServer.go @@ -11,6 +11,7 @@ import ( "dread.land/deepgram-demo/internal/audio" "dread.land/deepgram-demo/internal/metadata" + "github.com/go-chi/chi/v5" ) type ApiServer struct { @@ -49,7 +50,7 @@ func (apiServer *ApiServer) filesHandler(w http.ResponseWriter, r *http.Request) } func (apiServer *ApiServer) metadataHandler(w http.ResponseWriter, r *http.Request) { - filename := path.Base(r.URL.Path) + filename := path.Base(path.Dir(r.URL.Path)) switch r.Method { case "GET": // get metadata @@ -93,14 +94,11 @@ func (apiServer *ApiServer) listHandler(w http.ResponseWriter, r *http.Request) func (apiServer *ApiServer) Serve() { - // POST and GET media - http.HandleFunc("/files/", apiServer.filesHandler) - // list media - http.HandleFunc("/files", apiServer.listHandler) - // list metadata (with filter) - http.HandleFunc("/metadata", apiServer.listHandler) - // GET metadata - http.HandleFunc("/metadata/", apiServer.metadataHandler) + r := chi.NewRouter() + r.Get("/files", apiServer.listHandler) + r.Get("/files/{filename}", apiServer.filesHandler) + r.Post("/files/{filename}", apiServer.filesHandler) + r.Get("/files/{filename}/metadata", apiServer.metadataHandler) - log.Fatal(http.ListenAndServe(":3030", nil)) + log.Fatal(http.ListenAndServe(":3030", r)) }