public static IImageWizardBuilder AddImageWizard(this IServiceCollection services, Action <ImageWizardOptions> options) { services.Configure(options); ImageWizardBuilder configuration = new ImageWizardBuilder(services); configuration.AddHttpLoader(); configuration.SetDistributedCache(); services.AddSingleton(configuration); return(configuration); }
public ImageWizardMiddleware( RequestDelegate next, IOptions <ImageWizardOptions> options, ILogger <ImageWizardMiddleware> logger, ImageWizardBuilder builder ) { Options = options.Value; Builder = builder; Logger = logger; _next = next; const string signature = @"[a-z0-9-_]+"; const string filter = @"[a-z]+\([^)]*\)"; const string loaderType = @"[a-z]+"; const string loaderSource = @".*"; UrlRegex = new Regex($@"^(?<signature>{signature})/(?<path>(?<filter>{filter}/)*(?<loaderType>{loaderType})/(?<loaderSource>{loaderSource}))$", RegexOptions.Compiled | RegexOptions.IgnoreCase); }