コード例 #1
0
 public void SetNext(MiddlewareNode node)
 {
     if (node == null)
     {
         throw new ArgumentNullException(nameof(node));
     }
     this.Next = new NextDelegate(node);
 }
コード例 #2
0
ファイル: MvcMiddleware.cs プロジェクト: ravenmk3/Cirno
        public async Task InvokeAsync(IHttpContext context, IMiddlewareDelegate next)
        {
            var result = this.Router.Route(context.Request.Path.Trim('/'), context.Request.Method);

            if (result.Handler != null)
            {
                await result.Handler.HandleAsync(context);
            }
            else
            {
                context.Response = new NotFoundResponse();
            }
            await next.InvokeAsync(context);
        }
コード例 #3
0
ファイル: DelegateMiddleware.cs プロジェクト: ravenmk3/Cirno
 public Task InvokeAsync(IHttpContext context, IMiddlewareDelegate next)
 {
     return(this.Method.Invoke(context, next));
 }
コード例 #4
0
 public MiddlewareNode(IMiddleware middleware)
 {
     this.Middleware = middleware ?? throw new ArgumentNullException(nameof(middleware));
     this.Next       = EmptyDelegate.Instance;
 }