helper.go
func Chain(h ...HandlerFunc) HandlerFunc {
	f := func(ctx *Context) error {
		for _, v := range h {
			if err := v(ctx); err != nil {
				return err
			}
		}
		return nil
	}
	return f
}
func Chain(h ...HandlerFunc) HandlerFunc {
	f := func(ctx *Context) error {
		for _, v := range h {
			if err := v(ctx); err != nil {
				return err
			}
		}
		return nil
	}
	return f
}
// Chain combins a slide of HandlerFunc(s) in to one request.