From f0a93d1e3b9b088b0598921ff7f8306f9567b641 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 5 Dec 2019 00:05:49 +0300 Subject: [PATCH] Send whole buffered response, preventing chunked encoding --- gocheese.go | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/gocheese.go b/gocheese.go index 5c6e80a..712783a 100644 --- a/gocheese.go +++ b/gocheese.go @@ -204,17 +204,19 @@ func listRoot(w http.ResponseWriter, r *http.Request) { http.Error(w, err.Error(), http.StatusInternalServerError) return } - w.Write([]byte(fmt.Sprintf(HTMLBegin, "root", "root"))) + var result bytes.Buffer + result.WriteString(fmt.Sprintf(HTMLBegin, "root", "root")) for _, file := range files { if file.Mode().IsDir() { - w.Write([]byte(fmt.Sprintf( + result.WriteString(fmt.Sprintf( HTMLElement, *refreshURLPath+file.Name()+"/", file.Name(), - ))) + )) } } - w.Write([]byte(HTMLEnd)) + result.WriteString(HTMLEnd) + w.Write(result.Bytes()) } func listDir(w http.ResponseWriter, r *http.Request, dir string, autorefresh bool) { @@ -232,7 +234,8 @@ func listDir(w http.ResponseWriter, r *http.Request, dir string, autorefresh boo http.Error(w, err.Error(), http.StatusInternalServerError) return } - w.Write([]byte(fmt.Sprintf(HTMLBegin, dir, dir))) + var result bytes.Buffer + result.WriteString(fmt.Sprintf(HTMLBegin, dir, dir)) var data []byte var filenameClean string for _, file := range files { @@ -245,16 +248,17 @@ func listDir(w http.ResponseWriter, r *http.Request, dir string, autorefresh boo return } filenameClean = strings.TrimSuffix(file.Name(), SHA256Ext) - w.Write([]byte(fmt.Sprintf( + result.WriteString(fmt.Sprintf( HTMLElement, strings.Join([]string{ *refreshURLPath, dir, "/", filenameClean, "#", SHA256Prefix, hex.EncodeToString(data), }, ""), filenameClean, - ))) + )) } - w.Write([]byte(HTMLEnd)) + result.WriteString(HTMLEnd) + w.Write(result.Bytes()) } func servePkg(w http.ResponseWriter, r *http.Request, dir, filename string) { -- 2.44.0