summaryrefslogtreecommitdiff
path: root/rhimport/session.go
diff options
context:
space:
mode:
Diffstat (limited to 'rhimport/session.go')
-rw-r--r--rhimport/session.go21
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) {