Minha questão é, a posição no código influi nas rotas que o middleware opera? Por exemplo:
func HandleRequests() {
r := mux.NewRouter()
r.Use(middleware.ContentTypeMiddleware)
r.HandleFunc("/", controllers.Home)
r.HandleFunc("/api/personalidades", controllers.TodasPersonalidades).Methods("GET")
r.HandleFunc("/api/personalidades/{id}", controllers.RetornaPersonalidade).Methods("GET")
r.HandleFunc("/api/personalidades", controllers.NovaPersonalidade).Methods("POST")
r.HandleFunc("/api/personalidades/{id}", controllers.DeletarPersonalidade).Methods("Delete")
r.HandleFunc("/api/personalidades/{id}", controllers.EditarPersonalidade).Methods("PUT")
log.Fatal(http.ListenAndServe(":8080", r))
}
No codigo acima, o middleware ficará disponivel para todas as rotas. Porem se eu colocar o r.Use(), mais para baixo, por exemplo:
func HandleRequests() {
r := mux.NewRouter()
r.HandleFunc("/", controllers.Home)
r.HandleFunc("/api/personalidades", controllers.TodasPersonalidades).Methods("GET")
r.HandleFunc("/api/personalidades/{id}", controllers.RetornaPersonalidade).Methods("GET")
r.Use(middleware.ContentTypeMiddleware)
r.HandleFunc("/api/personalidades", controllers.NovaPersonalidade).Methods("POST")
r.HandleFunc("/api/personalidades/{id}", controllers.DeletarPersonalidade).Methods("Delete")
r.HandleFunc("/api/personalidades/{id}", controllers.EditarPersonalidade).Methods("PUT")
log.Fatal(http.ListenAndServe(":8080", r))
}
Somente as rotas abaixo dele vao ter acesso ao middleware? ou sua posi;áo na influi no go?