0
У меня есть этот productHandler:Добавить промежуточное программное обеспечение по протоколу HTTP
func productHandler(w http.ResponseWriter, r *http.Request) {
var prop controller.Product
switch r.Method {
case "GET":
prop.All()
} [etc..]
}
Тогда я зарегистрировать мой productHandler
http.HandleFunc("/products/", productHandler)
Как я могу добавить ниже промежуточного уровня для запроса HTTP?
func Accept(next http.Handler) http.Handler {
fc := func(w http.ResponseWriter, r *http.Request) {
if r.Header.Get("Accept") != "application/json" {
w.Write([]byte("Test M."))
return
}
next.ServeHTTP(w, r)
}
return http.HandlerFunc(fc)
}
Как добавить это промежуточное программное обеспечение ко всем моим обработчикам?
Я попытался:
type Pr struct {
handler http.Handler
}
func (p *Pr) ServeHttp(w http.ResponseWriter, r *http.Request) {
a.handler.ServeHTTP(w, r)
w.Write([]byte("Test M"))
}
Я пытаюсь реализовать это на SDK App Engine.
Но это не работает.
Я попытался преобразовать его раньше, и это did't работу, потому что я забыл изменить '' HandleFunc' к Handle' ... спасибо теперь он работает. – John