首页 > 解决方案 > GzipResponseWriter 字段声明

问题描述

我在看这种类型

type GzipResponseWriter struct {
    gw *gzip.Writer
    http.ResponseWriter
}

以及实现它的功能

func (w GzipResponseWriter) Write(b []byte) (int, error) {
    if _, ok := w.Header()["Content-Type"]; !ok {
        // If content type is not set, infer it from the uncompressed body.
        w.Header().Set("Content-Type", http.DetectContentType(b))
    }
    return w.gw.Write(b)
}

func (w GzipResponseWriter) Flush() {
    w.gw.Flush()
    if fw, ok := w.ResponseWriter.(http.Flusher); ok {
        fw.Flush()
    }
}

http.ResponseWriter 是否与第二个字段相关?为什么不是 gw1 http.ResponseWriter?

标签: go

解决方案


推荐阅读