summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorJulian Hurst <julian.hurst@digdash.com>2025-01-23 14:29:03 +0100
committerJulian Hurst <julian.hurst@digdash.com>2025-01-23 14:29:03 +0100
commit4340053981b34d5e4785fc530d035eb507c42be9 (patch)
treec833c2de619eb5d4b72c5fca19e179cf3c4545a8 /main.go
parent392b9171e794446f596c75687f6fa5d76fb4cddd (diff)
downloadbox-4340053981b34d5e4785fc530d035eb507c42be9.tar.gz
Add flag for configuring the files path
Diffstat (limited to 'main.go')
-rw-r--r--main.go15
1 files 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)
}