From fa47d755415b12a62a7941b573e76fba15f0d5cd Mon Sep 17 00:00:00 2001 From: matst80 Date: Thu, 15 May 2025 19:47:49 +0200 Subject: [PATCH] apikey --- main.go | 10 +++++++++- pkg/storage/disk-storage.go | 11 +---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/main.go b/main.go index 878199a..6589363 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "log" "net/http" "net/url" + "os" "strings" "git.tornberg.me/go-persist/pkg/storage" @@ -132,8 +133,10 @@ func esimateMimeType(filename string) string { return "application/octet-stream" } +var apiKey = os.Getenv("API_KEY") + func main() { - // Initialize the application + rootDir, err := storage.NewDiskStorage([]string{}) if err != nil { log.Fatal(err) @@ -188,6 +191,11 @@ func main() { json.NewEncoder(w).Encode(content) } else { defer r.Body.Close() + authKey := r.Header.Get("Authorization") + if authKey != apiKey { + w.WriteHeader(http.StatusUnauthorized) + return + } data, err := io.ReadAll(r.Body) if err != nil { w.WriteHeader(http.StatusInternalServerError) diff --git a/pkg/storage/disk-storage.go b/pkg/storage/disk-storage.go index 61e9ac4..91f5d3f 100644 --- a/pkg/storage/disk-storage.go +++ b/pkg/storage/disk-storage.go @@ -19,10 +19,7 @@ func NewDiskStorage(ids []string) (Storage, error) { idPth := path.Join(ids...) dir := path.Join(pth, idPth) s := &DiskStorage{dir: dir} - err := s.ensureDir() - if err != nil { - return nil, err - } + return s, nil } @@ -32,9 +29,6 @@ func (ds *DiskStorage) ensureDir() error { } func (ds *DiskStorage) Get(key string) (io.Reader, error) { - if err := ds.ensureDir(); err != nil { - return nil, err - } f, err := os.Open(path.Join(ds.dir, key)) if err != nil { return nil, err @@ -63,9 +57,6 @@ func (ds *DiskStorage) Delete(key string) error { } func (ds *DiskStorage) List(prefix string) ([]string, error) { - if err := ds.ensureDir(); err != nil { - return nil, err - } data, err := os.ReadDir(path.Join(ds.dir, prefix)) if err != nil { return nil, err