public IHttpRoutable Dive(IHttpRouteCondition condition) { var routed = new HttpRouted(this); _pipeline.PushConditional(condition, routed, () => new HttpRouter()); return(routed); }
public void PushConditional(IHttpRouteCondition condition, IHttpRequestHandler handler, Func <HttpRouter> routerFactory) { if (_currentRouter == null) { _currentRouter = routerFactory(); _handlers.Add(_currentRouter); } _currentRouter.When(condition, handler); }
public void When(IHttpRouteCondition condition, IHttpRequestHandler handler) { _routes.Add(new HttpRoute(condition, handler)); }
public HttpRoute(IHttpRouteCondition condition, IHttpRequestHandler handler) { Condition = condition; Handler = handler; }
public IHttpRoutable UseWhen(IHttpRouteCondition condition, IHttpRequestHandler handler) { _pipeline.PushConditional(condition, handler, () => new HttpRouter()); return(this); }