From f59054b5e090134c0c8a8e935c0f204701f8bef8 Mon Sep 17 00:00:00 2001 From: Julien Neuhart Date: Wed, 11 Apr 2018 09:47:54 +0200 Subject: [PATCH] if a converter has been created, cleanup its file if an error happens --- app/converter/converter.go | 4 ++-- app/handlers.go | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/converter/converter.go b/app/converter/converter.go index b1bd466a..6ccb8b67 100644 --- a/app/converter/converter.go +++ b/app/converter/converter.go @@ -31,7 +31,7 @@ func NewConverter(r *http.Request) (*Converter, error) { reader, err := r.MultipartReader() if err != nil { - return nil, err + return c, err } for { @@ -47,7 +47,7 @@ func NewConverter(r *http.Request) (*Converter, error) { f, err := gfile.NewFile(c.workingDir, part, fileName) if err != nil { - return nil, err + return c, err } c.files = append(c.files, f) diff --git a/app/handlers.go b/app/handlers.go index c63db562..29245cef 100644 --- a/app/handlers.go +++ b/app/handlers.go @@ -62,6 +62,12 @@ func convertHandler(next http.Handler) http.Handler { if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) logger.Error(err) + + if c != nil { + r = context.WithConverter(r, c) + cleanup(r) + } + return }