# HG changeset patch # User Sascha L. Teichmann # Date 1542647368 -3600 # Node ID 737e1acea1f1d383ab0f5fa611f2c9999cced1aa # Parent 2e65e8ddacab1ffcab8fa0693081c9f145a67468 If there are no XYZ files in the ZIP we cant help the user. So don't store the ZIP in the temp files. diff -r 2e65e8ddacab -r 737e1acea1f1 pkg/controllers/srimports.go --- a/pkg/controllers/srimports.go Mon Nov 19 17:56:44 2018 +0100 +++ b/pkg/controllers/srimports.go Mon Nov 19 18:09:28 2018 +0100 @@ -162,12 +162,13 @@ var messages []string var result struct { - Token string `json:"token"` + Token string `json:"token,omitempty"` Meta interface{} `json:"meta,omitempty"` Messages []string `json:"messages,omitempty"` } - if common.FindInZIP(zr, ".xyz") == nil { + var noXYZ bool + if noXYZ = common.FindInZIP(zr, ".xyz") == nil; noXYZ { messages = append(messages, "no .xyz file found.") } @@ -188,7 +189,15 @@ } once.Do(closeOnce) - if result.Token, err = misc.MakeTempFile(dir); err != nil { + code := http.StatusCreated + + // If there are no XYZ data we cant help the user anyway. + if noXYZ { + code = status.StatusBadRequest + if err2 := os.RemoveAll(dir); err2 != nil { + log.Printf("error: %v\n", err2) + } + } else if result.Token, err = misc.MakeTempFile(dir); err != nil { if err2 := os.RemoveAll(dir); err2 != nil { log.Printf("error: %v\n", err2) } @@ -198,7 +207,7 @@ result.Messages = messages jr = JSONResult{ - Code: http.StatusCreated, + Code: code, Result: &result, } return