diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -116,15 +116,18 @@ func (handler BoxHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusUnauthorized) return } - ext := r.Header.Get("X-ResourceMeta-Extension") - u, err := uuid.NewRandom() - if err != nil { - log.Println(err) - fmt.Fprint(w, err.Error()) - w.WriteHeader(http.StatusInternalServerError) - return + filename := r.Header.Get("X-ResourceMeta-Filename") + if filename == "" { + ext := r.Header.Get("X-ResourceMeta-Extension") + u, err := uuid.NewRandom() + if err != nil { + log.Println(err) + fmt.Fprint(w, err.Error()) + w.WriteHeader(http.StatusInternalServerError) + return + } + filename = filepath.Join(handler.filesPath, u.String()) + ext } - filename := filepath.Join(handler.filesPath, u.String()) + ext log.Printf("Boxing %s...\n", filename) f, err := os.Create(filename) if err != nil { |
