Mercurial > gemma
comparison pkg/controllers/srimports.go @ 1228:17131f0f9fcb
Added endpoint to explicitly delete a temp upload.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 19 Nov 2018 18:32:06 +0100 |
parents | 737e1acea1f1 |
children | d842d9d10872 |
comparison
equal
deleted
inserted
replaced
1227:737e1acea1f1 | 1228:17131f0f9fcb |
---|---|
32 "gemma.intevation.de/gemma/pkg/common" | 32 "gemma.intevation.de/gemma/pkg/common" |
33 "gemma.intevation.de/gemma/pkg/config" | 33 "gemma.intevation.de/gemma/pkg/config" |
34 "gemma.intevation.de/gemma/pkg/imports" | 34 "gemma.intevation.de/gemma/pkg/imports" |
35 "gemma.intevation.de/gemma/pkg/misc" | 35 "gemma.intevation.de/gemma/pkg/misc" |
36 "gemma.intevation.de/gemma/pkg/models" | 36 "gemma.intevation.de/gemma/pkg/models" |
37 "github.com/gorilla/mux" | |
37 ) | 38 ) |
38 | 39 |
39 const ( | 40 const ( |
40 maxSoundingResultSize = 25 * 1024 * 1024 | 41 maxSoundingResultSize = 25 * 1024 * 1024 |
41 soundingResultName = "soundingresult" | 42 soundingResultName = "soundingresult" |
191 | 192 |
192 code := http.StatusCreated | 193 code := http.StatusCreated |
193 | 194 |
194 // If there are no XYZ data we cant help the user anyway. | 195 // If there are no XYZ data we cant help the user anyway. |
195 if noXYZ { | 196 if noXYZ { |
196 code = status.StatusBadRequest | 197 code = http.StatusBadRequest |
197 if err2 := os.RemoveAll(dir); err2 != nil { | 198 if err2 := os.RemoveAll(dir); err2 != nil { |
198 log.Printf("error: %v\n", err2) | 199 log.Printf("error: %v\n", err2) |
199 } | 200 } |
200 } else if result.Token, err = misc.MakeTempFile(dir); err != nil { | 201 } else if result.Token, err = misc.MakeTempFile(dir); err != nil { |
201 if err2 := os.RemoveAll(dir); err2 != nil { | 202 if err2 := os.RemoveAll(dir); err2 != nil { |
210 Code: code, | 211 Code: code, |
211 Result: &result, | 212 Result: &result, |
212 } | 213 } |
213 return | 214 return |
214 } | 215 } |
216 | |
217 func deleteSoundingUpload(rw http.ResponseWriter, req *http.Request) { | |
218 token := mux.Vars(req)["token"] | |
219 if _, err := hex.DecodeString(token); err != nil { | |
220 http.Error(rw, "Invalid token", http.StatusBadRequest) | |
221 return | |
222 } | |
223 if err := misc.DeleteTempFile(token); err != nil { | |
224 http.Error(rw, fmt.Sprintf("error: %v", err), http.StatusInternalServerError) | |
225 return | |
226 } | |
227 result := struct { | |
228 Message string `json:"message"` | |
229 }{ | |
230 Message: fmt.Sprintf("Token %s deletes.", token), | |
231 } | |
232 SendJSON(rw, http.StatusOK, &result) | |
233 } |