Я юзаю этот роутер.
У меня есть обьект router.NotFound. Я смог повесить на него файловый сервер. Но а мне необходимо при этой ошибке вызывать функцию. Как сделать?
Зарание спасибо.
func MyNotFound(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/plain; charset=utf-8")
w.WriteHeader(http.StatusNotFound) // StatusNotFound = 404
w.Write([]byte("My own Not Found handler."))
w.Write([]byte(" The page you requested could not be found."))
}
func RunServer(host string) error {
router := httprouter.New()
router.GET("/sdk/ws/", WSHandler)
router.GET("/sdk/ajax/:data", AjaxHandler)
router.GET("/sdk/jsonp/:data", JsonpHandler)
router.ServeFiles("/p/*filepath", http.Dir("public/"))
router.NotFound = MyNotFound
return http.ListenAndServe(host, router)
}
./backend.go:60: cannot use MyNotFound (type func(http.ResponseWriter, *http.Request)) as type http.Handler in assignment:
func(http.ResponseWriter, *http.Request) does not implement http.Handler (missing ServeHTTP method)