From 4340053981b34d5e4785fc530d035eb507c42be9 Mon Sep 17 00:00:00 2001 From: Julian Hurst Date: Thu, 23 Jan 2025 14:29:03 +0100 Subject: Add flag for configuring the files path --- main.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 7326b43..d51c41d 100644 --- a/main.go +++ b/main.go @@ -23,7 +23,7 @@ var favicon []byte type BoxHandler struct { - dataPath string + filesPath string token string deleteEnabled bool } @@ -49,7 +49,7 @@ func (handler BoxHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { serve(w, handler.token, "templates/index.html") } else { resourceId := path.Base(r.URL.Path) - http.ServeFile(w, r, filepath.Join(handler.dataPath, resourceId)) + http.ServeFile(w, r, filepath.Join(handler.filesPath, resourceId)) } return case http.MethodDelete: @@ -58,7 +58,7 @@ func (handler BoxHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { return } resourceId := path.Base(r.URL.Path) - filename := filepath.Join(handler.dataPath, resourceId) + filename := filepath.Join(handler.filesPath, resourceId) log.Printf("Deleting %s...", filename) err := os.Remove(filename) if err != nil { @@ -86,7 +86,7 @@ func (handler BoxHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusInternalServerError) return } - filename := filepath.Join(handler.dataPath, u.String()) + filename := filepath.Join(handler.filesPath, u.String()) log.Printf("Boxing %s...\n", filename) f, err := os.Create(filename) if err != nil { @@ -109,14 +109,15 @@ func main() { host := flag.String("n", "", "The hostname to listen on") port := flag.Int("p", 8080, "The port to listen on") token := flag.String("t", "", "The token to use to protect uploads") - deleteEnabled := flag.Bool("d", false, "Enable deleting resources") + filesPath := flag.String("d", "", "The path to the files") + deleteEnabled := flag.Bool("D", false, "Enable deleting resources") flag.Parse() boxHandler := BoxHandler { - "data", + *filesPath, *token, *deleteEnabled, } - err := os.MkdirAll(boxHandler.dataPath, 0750) + err := os.MkdirAll(boxHandler.filesPath, 0750) if err != nil { log.Fatal(err) } -- cgit v1.2.3