1. 首页
  2. 主题
  3. Go问与答

如何实现http.HandleFunc的hook

star24 · · 5015 次点击
假设有下面一段程序,如何实现每次访问:8000/test时,都要先执行某个函数,完成testHandle后再执行某个函数? ``` func main() { http.HandleFunc("/test", testHandle) err := http.ListenAndServe(":8000", nil) if err != nil { log.Fatal("ListenAndServe: ", err) } } ```
在testHandle里调用那2个函数就可以了啊。
#2
更多评论
polaris
社区,需要你我一同完善!
需要自己实现 HandlerFunc,比如这里:https://github.com/studygolang/mux/blob/master/filter.go, 实现你说的这种功能,本站的开发就用到了这个。
#1
抱歉,举的例子不全面,其实在我们的生产环境中是会存在N个http.HandleFunc的,每个http.HandleFunc都加2个函数不好维护,可读性也差。 当然,如果所有http.HandleFunc所需的hook都放在一个配置文件中也不错。
#3

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中