public static IApplicationBuilder UseAddTodoMiddleware(this IApplicationBuilder app, AddTodoMiddlewareOptions options)
 {
     return(app.UseMiddleware <AddTodoMiddleware>(new OptionsWrapper <AddTodoMiddlewareOptions>(options)));
 }
 public static IApplicationBuilder UseAddTodoRoutes(this IApplicationBuilder app, AddTodoMiddlewareOptions options, string url)
 {
     return(app.UseRouter(new RouteBuilder(app).MapPost(url, context => new AddTodoCommandHandler().Handle(new AddTodoCommand())).Build()));
 }
 public AddTodoMiddleware(RequestDelegate next, IOptions <AddTodoMiddlewareOptions> optionsAccessor)
 {
     _next    = next;
     _options = optionsAccessor.Value;
 }