func main() { middle := interpose.New() // Invoke the Gorilla framework's combined logger middle.Use(middleware.GorillaLog()) // Create a router to serve HTTP content at two paths // and tell our middleware about the router router := mux.NewRouter() middle.UseHandler(router) router.PathPrefix("/green").Subrouter().Handle("/{name}", Green(http.HandlerFunc(welcomeHandler))) router.Handle("/{name}", http.HandlerFunc(welcomeHandler)) http.ListenAndServe(":3001", middle) }
func main() { middle := interpose.New() // First apply any middleware that will not write output to http body // but which may (or may not) modify headers middle.Use(middleware.GorillaLog()) // Now apply any middleware that might modify the http body. This permits the // preceding middleware to alter headers router := mux.NewRouter() router.HandleFunc("/{user}", func(w http.ResponseWriter, req *http.Request) { fmt.Fprintf(w, "Welcome to the home page, %s!", mux.Vars(req)["user"]) }) middle.UseHandler(router) http.ListenAndServe(":3001", middle) }
func main() { middle := interpose.New() // First apply any middleware that will not write output to http body // Log to stdout. Taken from Gorilla middle.Use(middleware.GorillaLog()) // Gzip output that follows. Taken from Negroni middle.Use(middleware.NegroniGzip(gzip.DefaultCompression)) // Now apply any middleware that modify the http body. router := mux.NewRouter() middle.UseHandler(router) router.HandleFunc("/{user}", func(w http.ResponseWriter, req *http.Request) { fmt.Fprintf(w, "Welcome to the home page, %s!", mux.Vars(req)["user"]) }) http.ListenAndServe(":3001", middle) }