我有一个静态目录,其中包含一个sign.html文件:
//go:embed static
var static embed.FS
它以这种方式提供并且工作正常:
fSys, err := fs.Sub(static, "static")
if err != nil {
return err
}
mux.Handle("/", http.FileServer(http.FS(fSys)))
不过,在某些路线上(例如:)/sign,我想在提供页面之前进行一些检查。这是我的处理程序:
func (h Handler) ServeSignPage(w http.ResponseWriter, r *http.Request) error {
publicKey := r.URL.Query().Get("publicKey")
err := h.Service.AuthorizeClientSigning(r.Context(), publicKey)
if err != nil {
return err
}
// this is where I'd like to serve the embed file
// sign.html from the static directory
http.ServeFile(w, r, "sign.html")
return nil
}
不幸的是,ServeFile没有找到显示器。如何在其中从文件服务器提供文件ServeSignPage?
隔江千里
相关分类