golang http处理程序包装/链接

I am using golang http handler wrapping like so

router := mux.NewRouter()

wrapper1(h http.Handle, ip1 string)    
wrapper2(h http.Handler, ip2 string)    
wrapper3(h http.Handler, ip3 string)    
wrapper4(h http.Handler, ip4 string)    
wrapper5(h http.Handler, ip5 string)

router.Handle("/route1", wrapper5(wrapper4(wrapper3(wrapper2(wrapper3, 
    "input1"), "input2"), "input3"), "input4"), "input5")

Now if I need another wrapper, I can chain it.

My qs: Is this level of handler chaining a good way or is there a better/another way to implement handler chaining?