diff options
Diffstat (limited to 'rhimport/session.go')
-rw-r--r-- | rhimport/session.go | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/rhimport/session.go b/rhimport/session.go index f61c8fe..13d31cc 100644 --- a/rhimport/session.go +++ b/rhimport/session.go @@ -99,26 +99,29 @@ func sessionProgressCallback(step int, stepName string, progress float64, userda } func sessionRun(ctx Context, done chan<- Result) { - if err := ctx.SanityCheck(); err != nil { + err := ctx.SanityCheck() + if err != nil { done <- Result{ResponseCode: http.StatusBadRequest, ErrorString: err.Error()} return } - if res, err := FetchFile(&ctx); err != nil { + var res *Result + res, err = FetchFile(&ctx) + if err != nil { done <- Result{ResponseCode: http.StatusInternalServerError, ErrorString: err.Error()} return - } else if res.ResponseCode != http.StatusOK { + } + if res.ResponseCode != http.StatusOK { done <- *res return } - if res, err := ImportFile(&ctx); err != nil { - done <- Result{ResponseCode: http.StatusInternalServerError, ErrorString: err.Error()} - return - } else { - done <- *res - return + res, err = ImportFile(&ctx) + if err != nil { + res.ResponseCode = http.StatusInternalServerError + res.ErrorString = err.Error() } + done <- *res } func (self *Session) run(timeout time.Duration) { |