aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorclsr <clsr@clsr.net>2016-06-17 17:39:38 +0200
committerclsr <clsr@clsr.net>2016-06-17 17:39:38 +0200
commit3a2230d50bbb3a8471c4e7063ab45b619fbe4b6a (patch)
treeb7bd147d08ba00b8737cff3894afc85cbc96569c
parent783606fd17f893964f751905e4d55b6202e22652 (diff)
downloadgomf-3a2230d50bbb3a8471c4e7063ab45b619fbe4b6a.tar.gz
gomf-3a2230d50bbb3a8471c4e7063ab45b619fbe4b6a.zip
Fix invalid ID detectionv0.1.9
-rw-r--r--api.go2
-rw-r--r--storage.go3
2 files changed, 3 insertions, 2 deletions
diff --git a/api.go b/api.go
index 2e9df52..9edf618 100644
--- a/api.go
+++ b/api.go
@@ -17,7 +17,7 @@ import (
)
func handleFile(w http.ResponseWriter, r *http.Request) {
- f, hash, size, modtime, err := storage.Get(strings.TrimRight(r.URL.Path, "/"))
+ f, hash, size, modtime, err := storage.Get(strings.TrimLeft(r.URL.Path, "/"))
if err != nil {
if _, ok := err.(ErrNotFound); ok {
http.Error(w, err.Error(), http.StatusNotFound)
diff --git a/storage.go b/storage.go
index 588b121..95ad72b 100644
--- a/storage.go
+++ b/storage.go
@@ -72,7 +72,8 @@ func (s *Storage) Get(id string) (file *os.File, hash string, size int64, modtim
id = id[:len(id)-len(ext)]
for i := 0; i < len(id); i++ {
if !strings.ContainsRune(s.IdCharset, rune(id[i])) {
- err = errors.New("invalid ID")
+ err = errors.New("invalid ID: " + id)
+ return
}
}
folder := s.idToFolder("ids", id)