1 回答
TA贡献1794条经验 获得超7个赞
这对我来说也很有趣,我也有和你一样的行为 - go 1.14 在我的 mashine (macOs catalina) 应用程序/javascript 上交付,而不是 text/javascript。我调试了程序,在 mime 包的 type.go 中发现了这个函数:
func initMime() {
if fn := testInitMime; fn != nil {
fn()
} else {
setMimeTypes(builtinTypesLower, builtinTypesLower)
osInitMime()
}
}
else 块中正在发生有趣的事情。在将扩展分配给的 builtInTypes 设置后,将文件扩展js分配给text/javascript操作系统特定的内容类型,这会覆盖内置分配。在 mac 上,它将文件 type_unix.go where files
"/etc/mime.types",
"/etc/apache2/mime.types",
"/etc/apache/mime.types",
经测试可用,在我的情况下/etc/apache2/mime.types,操作系统中存在一个文件,它包含...令人惊讶的一行 application/javascript js 并且此行覆盖了 .js 扩展的 go 内置定义,并导致Content-Type: application/javascript交付给客户端并导致您的测试失败。
- 1 回答
- 0 关注
- 102 浏览
添加回答
举报