0
私はhttputil.ReverseProxy - > ModifyResponseからプロキシされた応答をgzipしようとしています。 したがって、http.Responseオブジェクトにのみアクセスできます。Golang http.Response gzip writer ERR_CONTENT_LENGTH_MISMATCH
res.Body = ioutil.NopCloser(bytes.NewReader(minified))
res.ContentLength = int64(len(minified))
res.Header.Set("Content-Length", strconv.Itoa(len(minified)))
res.Header.Del("Content-Encoding")
これはうまくいきます。しかし、私がコンテンツをgzipするとき、私はコンテンツ長不一致エラーを取得します。
var buf bytes.Buffer
gz := gzip.NewWriter(&buf)
gz.Write(minified)
readCloser := ioutil.NopCloser(&buf)
res.Body = readCloser
res.ContentLength = int64(buf.Len())
res.Header.Set("Content-Length", strconv.Itoa(buf.Len()))
res.Header.Set("Content-Encoding", "gzip")
誰かが間違っていると言うことができますか? content-lengthは、入力が変更されても常に10です。