golang http 請求添加攔截器


//type HandlerFunc func(ResponseWriter, *Request)
 攔截器返回一個函數供調用,在這個函數里添加自己的邏輯判斷即可 h(w,r)及是調用用戶自己的處理函數。h 是函數指針
func handleIterceptor(h http.HandlerFunc) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        fmt.Println("handleIterceptor")
        h(w, r)
    }
}

// /
func myhandler(writer http.ResponseWriter, request *http.Request) {
    fmt.Println("myhandler")
}

func web(writer http.ResponseWriter, request *http.Request) {
    fmt.Println("web")
}

func main() {
    http.HandleFunc("/", handleIterceptor(myhandler))
    http.HandleFunc("/web", handleIterceptor(web))
    http.ListenAndServe(":8080", nil)
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM