volume: avoid special logic for .gz files

This commit is contained in:
Chris Lu 2020-08-01 11:17:19 -07:00
parent f89186a3cf
commit 49199c69d4

View file

@ -26,6 +26,8 @@ var fileNameEscaper = strings.NewReplacer("\\", "\\\\", "\"", "\\\"")
func (vs *VolumeServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) { func (vs *VolumeServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) {
// println(r.Method + " " + r.URL.Path)
stats.VolumeServerRequestCounter.WithLabelValues("get").Inc() stats.VolumeServerRequestCounter.WithLabelValues("get").Inc()
start := time.Now() start := time.Now()
defer func() { stats.VolumeServerRequestHistogram.WithLabelValues("get").Observe(time.Since(start).Seconds()) }() defer func() { stats.VolumeServerRequestHistogram.WithLabelValues("get").Observe(time.Since(start).Seconds()) }()
@ -142,20 +144,18 @@ func (vs *VolumeServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request)
} }
} }
if ext != ".gz" && ext != ".zst" { if n.IsCompressed() {
if n.IsCompressed() { if _, _, _, shouldResize := shouldResizeImages(ext, r); shouldResize {
if _, _, _, shouldResize := shouldResizeImages(ext, r); shouldResize { if n.Data, err = util.DecompressData(n.Data); err != nil {
if n.Data, err = util.DecompressData(n.Data); err != nil { glog.V(0).Infoln("ungzip error:", err, r.URL.Path)
glog.V(0).Infoln("ungzip error:", err, r.URL.Path) }
} } else if strings.Contains(r.Header.Get("Accept-Encoding"), "zstd") && util.IsZstdContent(n.Data) {
} else if strings.Contains(r.Header.Get("Accept-Encoding"), "zstd") && util.IsZstdContent(n.Data) { w.Header().Set("Content-Encoding", "zstd")
w.Header().Set("Content-Encoding", "zstd") } else if strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") && util.IsGzippedContent(n.Data) {
} else if strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") && util.IsGzippedContent(n.Data) { w.Header().Set("Content-Encoding", "gzip")
w.Header().Set("Content-Encoding", "gzip") } else {
} else { if n.Data, err = util.DecompressData(n.Data); err != nil {
if n.Data, err = util.DecompressData(n.Data); err != nil { glog.V(0).Infoln("uncompress error:", err, r.URL.Path)
glog.V(0).Infoln("uncompress error:", err, r.URL.Path)
}
} }
} }
} }