tUse http.Error() when appropriate - partage - File upload system
(HTM) git clone git://git.z3bra.org/partage.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 657765130239d212fa9d7a871fd267306bdbd8f8
(DIR) parent c40d677bd5eddc22019fe775981466895821a684
(HTM) Author: Willy Goiffon <dev@z3bra.org>
Date: Tue, 19 Oct 2021 08:35:08 +0200
Use http.Error() when appropriate
Diffstat:
M partage.go | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
---
(DIR) diff --git a/partage.go b/partage.go
t@@ -41,7 +41,6 @@ var conf struct {
expiry int64
}
-
func writefile(f *os.File, s io.ReadCloser, contentlength int64) error {
buffer := make([]byte, 4096)
eof := false
t@@ -106,7 +105,7 @@ func writemeta(filename string, expiry int64) error {
func servetemplate(w http.ResponseWriter, f string, d templatedata) {
t, err := template.ParseFiles(conf.templatedir + "/" + f)
if err != nil {
- w.WriteHeader(http.StatusInternalServerError)
+ http.Error(w, err, http.StatusInternalServerError)
return
}
t@@ -119,8 +118,7 @@ func servetemplate(w http.ResponseWriter, f string, d templatedata) {
func uploaderPut(w http.ResponseWriter, r *http.Request) {
/* limit upload size */
if r.ContentLength > conf.maxsize {
- w.WriteHeader(http.StatusRequestEntityTooLarge)
- w.Write([]byte("File is too big"))
+ http.Error(w, "File is too big", http.StatusRequestEntityTooLarge)
}
tmp, _ := ioutil.TempFile(conf.filepath, "*"+path.Ext(r.URL.Path))
t@@ -132,7 +130,7 @@ func uploaderPut(w http.ResponseWriter, r *http.Request) {
defer f.Close()
if err = writefile(f, r.Body, r.ContentLength); err != nil {
- w.WriteHeader(http.StatusInternalServerError)
+ http.Error(w, err, http.StatusInternalServerError)
defer os.Remove(tmp.Name())
return
}
t@@ -149,14 +147,13 @@ func uploaderPost(w http.ResponseWriter, r *http.Request) {
links := []string{}
for _, h := range r.MultipartForm.File["uck"] {
if h.Size > conf.maxsize {
- w.WriteHeader(http.StatusRequestEntityTooLarge)
- w.Write([]byte("File is too big"))
+ http.Error(w, "File is too big", http.StatusRequestEntityTooLarge)
return
}
post, err := h.Open()
if err != nil {
- w.WriteHeader(http.StatusInternalServerError)
+ http.Error(w, err, http.StatusInternalServerError)
return
}
defer post.Close()
t@@ -164,13 +161,13 @@ func uploaderPost(w http.ResponseWriter, r *http.Request) {
tmp, _ := ioutil.TempFile(conf.filepath, "*"+path.Ext(h.Filename))
f, err := os.Create(tmp.Name())
if err != nil {
- w.WriteHeader(http.StatusInternalServerError)
+ http.Error(w, err, http.StatusInternalServerError)
return
}
defer f.Close()
if err = writefile(f, post, h.Size); err != nil {
- w.WriteHeader(http.StatusInternalServerError)
+ http.Error(w, err, http.StatusInternalServerError)
defer os.Remove(tmp.Name())
return
}