这是您可以执行的操作:
package mainimport ( "fmt" "github.com/gorilla/mux" "net/http" "time")func rootHandler(w http.ResponseWriter, r *http.Request) { time.Sleep(5 * time.Second) fmt.Fprintf(w, "Hello!")}func main() { mux := mux.NewRouter() mux.HandleFunc("/", rootHandler) muxWithMiddlewares := http.TimeoutHandler(mux, time.Second*3, "Timeout!") http.ListenAndServe(":8080", muxWithMiddlewares)}如果您有多个HTTP处理程序,则可以将它们堆叠起来:
// this is quite synthetic and ugly example, but it illustrates how Handlers worksmuxWithMiddlewares := http.StripPrefix("/api", http.TimeoutHandler(mux, time.Second*3, "Timeout!"))


