go - 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?
解决方案
推荐阅读
- node.js - 使用 fetch 抓取网页 - 承诺无法解决
- reactjs - 无法在 React 上使用 Multer 上传多个文件
- vue.js - 我如何拥有一个 Chart.vue 组件而不是不同的图表组件,然后通过更改 API 的 ID 来显示图表
- html - Flexbox:不能在容器项目上使用空格
- android - Windows 10 上的 Android Studio 4.1.1“无法访问 android.app.Activity”
- java - 在 Android API 22 Java 8 中使用带有 log4j 2.7 的 maven jar 获取 java.lang.NullPointerException:尝试获取空数组的长度
- php - 我有一个非常不稳定的多站点 wordpress
- android-studio - 我在flutter中创建新应用程序,在vs代码终端中创建AppName它工作但是当我尝试flutter run时它显示这个错误消息
- go - 为什么这部分代码在另一部分之前执行?
- python - 如何从 firefox 浏览器缓存中恢复 jupyter notebook?