|
@ -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 _, _, _, shouldResize := shouldResizeImages(ext, r); shouldResize { |
|
|
|
|
|
if n.Data, err = util.DecompressData(n.Data); err != nil { |
|
|
|
|
|
glog.V(0).Infoln("ungzip error:", err, r.URL.Path) |
|
|
|
|
|
} |
|
|
|
|
|
} else if strings.Contains(r.Header.Get("Accept-Encoding"), "zstd") && util.IsZstdContent(n.Data) { |
|
|
|
|
|
w.Header().Set("Content-Encoding", "zstd") |
|
|
|
|
|
} else if strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") && util.IsGzippedContent(n.Data) { |
|
|
|
|
|
w.Header().Set("Content-Encoding", "gzip") |
|
|
|
|
|
} else { |
|
|
|
|
|
if n.Data, err = util.DecompressData(n.Data); err != nil { |
|
|
|
|
|
glog.V(0).Infoln("uncompress error:", err, r.URL.Path) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if n.IsCompressed() { |
|
|
|
|
|
if _, _, _, shouldResize := shouldResizeImages(ext, r); shouldResize { |
|
|
|
|
|
if n.Data, err = util.DecompressData(n.Data); err != nil { |
|
|
|
|
|
glog.V(0).Infoln("ungzip error:", err, r.URL.Path) |
|
|
|
|
|
} |
|
|
|
|
|
} else if strings.Contains(r.Header.Get("Accept-Encoding"), "zstd") && util.IsZstdContent(n.Data) { |
|
|
|
|
|
w.Header().Set("Content-Encoding", "zstd") |
|
|
|
|
|
} else if strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") && util.IsGzippedContent(n.Data) { |
|
|
|
|
|
w.Header().Set("Content-Encoding", "gzip") |
|
|
|
|
|
} else { |
|
|
|
|
|
if n.Data, err = util.DecompressData(n.Data); err != nil { |
|
|
|
|
|
glog.V(0).Infoln("uncompress error:", err, r.URL.Path) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|