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);
        }
Esempio n. 2
0
        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);
        }