diff options
| author | Taras Madan <tarasmadan@google.com> | 2025-02-04 15:01:41 +0100 |
|---|---|---|
| committer | Taras Madan <tarasmadan@google.com> | 2025-02-05 14:45:47 +0000 |
| commit | 577d049b4ea56e459da6e49f4b92fc1981c92440 (patch) | |
| tree | 7e64eaf42a2032c44aa957a93210da14d594f6a2 /dashboard/app/api.go | |
| parent | 8d34fd8d3a26fa93992edd4432071dd9c249cd61 (diff) | |
dashboard/app: pre-gzip all responses
Diffstat (limited to 'dashboard/app/api.go')
| -rw-r--r-- | dashboard/app/api.go | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/dashboard/app/api.go b/dashboard/app/api.go index 9e53bcbe2..62b0ac76e 100644 --- a/dashboard/app/api.go +++ b/dashboard/app/api.go @@ -111,16 +111,16 @@ func handleJSON(fn JSONHandler) http.Handler { http.Error(w, err.Error(), status) return } - w.Header().Set("Content-Type", "application/json") - wJS := w.(io.Writer) - if strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") { - w.Header().Set("Content-Encoding", "gzip") - gw := gzip.NewWriter(w) - defer gw.Close() - wJS = gw - } + + wJS := newGzipResponseWriterCloser(w) + defer wJS.Close() if err := json.NewEncoder(wJS).Encode(reply); err != nil { log.Errorf(c, "failed to encode reply: %v", err) + return + } + w.Header().Set("Content-Type", "application/json") + if err := wJS.writeResult(r); err != nil { + log.Errorf(c, "wJS.writeResult: %s", err.Error()) } }) } |
