func (mx *Mux) With(middlewares ...func(http.Handler) http.Handler) Router {
	// Similarly as in handle(), we must build the mux handler once further
	// middleware registration isn't allowed for this stack, like now.
	if !mx.inline && mx.handler == nil {
		mx.buildRouteHandler()
	}

	// Copy middlewares from parent inline muxs
	var mws Middlewares
	if mx.inline {
		mws = make(Middlewares, len(mx.middlewares))
		copy(mws, mx.middlewares)
	}
	mws = append(mws, middlewares...)

	im := &Mux{pool: mx.pool, inline: true, parent: mx, tree: mx.tree, middlewares: mws}

	return im
}
func (mx *Mux) With(middlewares ...func(http.Handler) http.Handler) Router {
	
	
	if !mx.inline && mx.handler == nil {
		mx.buildRouteHandler()
	}

	
	var mws Middlewares
	if mx.inline {
		mws = make(Middlewares, len(mx.middlewares))
		copy(mws, mx.middlewares)
	}
	mws = append(mws, middlewares...)

	im := &Mux{pool: mx.pool, inline: true, parent: mx, tree: mx.tree, middlewares: mws}

	return im
}
func ( mx * Mux ) With ( middlewares ... func ( http . Handler ) http . Handler ) Router { // Similarly as in handle(), we must build the mux handler once further // middleware registration isn't allowed for this stack, like now. if ! mx . inline && mx . handler == nil { mx . buildRouteHandler ( ) } // Copy middlewares from parent inline muxs var mws Middlewares if mx . inline { mws = make ( Middlewares , len ( mx . middlewares ) ) copy ( mws , mx . middlewares ) } mws = append ( mws , middlewares ... ) im := & Mux { pool : mx . pool , inline : true , parent : mx , tree : mx . tree , middlewares : mws } return im }
// With adds inline middlewares for an endpoint handler.
With adds inline middlewares for an endpoint handler .