Gorilla mux custom middleware

前端 未结 5 1570
醉梦人生
醉梦人生 2020-12-13 01:01

I am using gorilla mux for manage routing. What I am missing is to integrate a middleware between every request.

For example

package main

import (
         


        
5条回答
  •  攒了一身酷
    2020-12-13 01:10

    Just create a wrapper, it's rather easy in Go:

    func HomeHandler(response http.ResponseWriter, request *http.Request) {
    
        fmt.Fprintf(response, "Hello home")
    }
    
    func Middleware(h http.Handler) http.Handler {
        return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
            log.Println("middleware", r.URL)
            h.ServeHTTP(w, r)
        })
    }
    func main() {
        r := mux.NewRouter()
        r.HandleFunc("/", HomeHandler)
        http.Handle("/", Middleware(r))
    }
    

提交回复
热议问题