7
现在想在静态文件加鉴权,现在试了一下,Middleware不对静态文件生效 。
现在想在静态文件加鉴权,现在试了一下,Middleware不对静态文件生效 。
大量 ServeFile
是否会影响性能?
s := g.Server()
s.BindMiddleware("/:file", func(c *ghttp.Request) {
auth := Auth{
}
if code, err := auth.AuthCheck(); code != 200 {
c.Response.WriteStatusExit(code, err)
} else {
c.Response.ServeFile(auth.fileName)
}
})
s.SetPort(8199)
s.Run()
你这个 "/:file" 可以支持吗? 我测试是不支持的啊!!
@botsphp 中间件不支持静态请求,HOOK
支持。你的代码那样自己通过路由来维护也可以。
我发的代码就是可以跑的哦。
我想了解一下 ServeFile
在性能上有没有需要注意的地方。
ServeFile
其实底层是调用的标准库net/http
的ServeContent
方法,具体可以看下源码。性能上标准库还是能保证的。