下面的代码重写了一些查询的http正文响应。
但是,它无法更新“内容长度”标题字段,它始终保持相同的原始值。
我该如何更新内容……
正如mkopriva所说,诀窍是重写 ResponseWriter.WriteHeader 。
ResponseWriter.WriteHeader
我认为这与写入可能在第一次调用时调用writeheader的事实有关,并且从那里我没有将指令放在正确的位置。
为了防止进一步的困难,我更喜欢使用分块转移。
代码更改是:
func (w *writeReplacer) WriteHeader(statusCode int) { w.Header().Del("Content-length") w.Header().Set("Transfer-Encoding", "chunked") w.ResponseWriter.WriteHeader(statusCode) }