diff options
Diffstat (limited to 'go/weed')
| -rw-r--r-- | go/weed/weed_server/volume_server_handlers_read.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/go/weed/weed_server/volume_server_handlers_read.go b/go/weed/weed_server/volume_server_handlers_read.go index d2375099f..6a7944d25 100644 --- a/go/weed/weed_server/volume_server_handlers_read.go +++ b/go/weed/weed_server/volume_server_handlers_read.go @@ -225,18 +225,22 @@ func (vs *VolumeServer) tryHandleChunkedFile(n *storage.Needle, fileName string, if !n.IsChunkedManifest() { return false } - processed = true raw, _ := strconv.ParseBool(r.FormValue("raw")) if raw { - w.Header().Set("Content-Type", "application/json") - w.Header().Set("Content-Length", strconv.Itoa(len(n.Data))) - if _, e := w.Write(n.Data); e != nil { - glog.V(0).Infoln("response write error:", e) + return false + } + processed = true + if n.IsGzipped(){ + var err error + if n.Data, err = storage.UnGzipData(n.Data); err != nil { + glog.V(0).Infoln("ungzip data error:", err, r.URL.Path) + return false } - return true } + chunkManifest, e := operation.LoadChunkedManifest(n.Data) if e != nil { + glog.V(0).Infoln("load chunked manifest error:", e) return false } ext := "" |
