예제 #1
0
        public static void AddSquidexLocalization(this IServiceCollection services)
        {
            var translator = new ResourcesLocalizer(Texts.ResourceManager);

            T.Setup(translator);

            services.AddSingletonAs(c => translator)
            .As <ILocalizer>();
        }
예제 #2
0
        public StringLocalizerTests()
        {
            var translations = new ResourcesLocalizer(Texts.ResourceManager);

            sut = new StringLocalizer(translations);
        }
예제 #3
0
        public static void AddSquidexMvcWithPlugins(this IServiceCollection services, IConfiguration config)
        {
            var translator = new ResourcesLocalizer(Texts.ResourceManager);

            T.Setup(translator);

            services.AddDefaultWebServices(config);
            services.AddDefaultForwardRules();

            services.AddSingletonAs(c => new ExposedValues(c.GetRequiredService <IOptions <ExposedConfiguration> >().Value, config, typeof(WebServices).Assembly))
            .AsSelf();

            services.AddSingletonAs <FileCallbackResultExecutor>()
            .AsSelf();

            services.AddSingletonAs <ApiCostsFilter>()
            .AsSelf();

            services.AddSingletonAs <AppResolver>()
            .AsSelf();

            services.AddSingletonAs <SchemaResolver>()
            .AsSelf();

            services.AddSingletonAs <UsageMiddleware>()
            .AsSelf();

            services.AddSingletonAs(c => translator)
            .As <ILocalizer>();

            services.AddSingletonAs <StringLocalizer>()
            .As <IStringLocalizer>().As <IStringLocalizerFactory>();

            services.AddSingletonAs <CachingManager>()
            .As <IRequestCache>();

            services.AddSingletonAs <ContextProvider>()
            .As <IContextProvider>();

            services.AddSingletonAs <HttpContextAccessor>()
            .As <IHttpContextAccessor>();

            services.AddSingletonAs <ActionContextAccessor>()
            .As <IActionContextAccessor>();

            services.Configure <ApiBehaviorOptions>(options =>
            {
                options.SuppressModelStateInvalidFilter = true;
            });

            services.AddLocalization();

            services.AddMvc(options =>
            {
                options.Filters.Add <CachingFilter>();
                options.Filters.Add <DeferredActionFilter>();
                options.Filters.Add <AppResolver>();
                options.Filters.Add <SchemaResolver>();
                options.Filters.Add <MeasureResultFilter>();
            })
            .AddDataAnnotationsLocalization()
            .AddRazorRuntimeCompilation()
            .AddSquidexPlugins(config)
            .AddSquidexSerializers();
        }
예제 #4
0
        public static void AddSquidexMvcWithPlugins(this IServiceCollection services, IConfiguration config)
        {
            var translator = new ResourcesLocalizer(Texts.ResourceManager);

            T.Setup(translator);

            services.AddSingletonAs(c => new ExposedValues(c.GetRequiredService <IOptions <ExposedConfiguration> >().Value, config, typeof(WebServices).Assembly))
            .AsSelf();

            services.AddSingletonAs <FileCallbackResultExecutor>()
            .AsSelf();

            services.AddSingletonAs <ApiCostsFilter>()
            .AsSelf();

            services.AddSingletonAs <AppResolver>()
            .AsSelf();

            services.AddSingletonAs <SchemaResolver>()
            .AsSelf();

            services.AddSingletonAs <RobotsTxtMiddleware>()
            .AsSelf();

            services.AddSingletonAs <LocalCacheMiddleware>()
            .AsSelf();

            services.AddSingletonAs <UsageMiddleware>()
            .AsSelf();

            services.AddSingletonAs <RequestExceptionMiddleware>()
            .AsSelf();

            services.AddSingletonAs <RequestLogPerformanceMiddleware>()
            .AsSelf();

            services.AddSingletonAs(c => translator)
            .As <ILocalizer>();

            services.AddSingletonAs <StringLocalizer>()
            .As <IStringLocalizer>().As <IStringLocalizerFactory>();

            services.AddSingletonAs <CachingManager>()
            .As <IRequestCache>();

            services.AddSingletonAs <ContextProvider>()
            .As <IContextProvider>();

            services.AddSingletonAs <HttpContextAccessor>()
            .As <IHttpContextAccessor>();

            services.AddSingletonAs <ActionContextAccessor>()
            .As <IActionContextAccessor>();

            services.Configure <ApiBehaviorOptions>(options =>
            {
                options.SuppressModelStateInvalidFilter = true;
            });

            services.AddLocalization();

            services.AddMvc(options =>
            {
                options.Filters.Add <CachingFilter>();
                options.Filters.Add <DeferredActionFilter>();
                options.Filters.Add <AppResolver>();
                options.Filters.Add <SchemaResolver>();
                options.Filters.Add <MeasureResultFilter>();
            })
            .AddDataAnnotationsLocalization()
            .AddRazorRuntimeCompilation()
            .AddSquidexPlugins(config)
            .AddSquidexSerializers();

            var urlsOptions = config.GetSection("urls").Get <UrlsOptions>();

            var host = urlsOptions.BuildHost();

            if (urlsOptions.EnforceHost)
            {
                services.AddHostFiltering(options =>
                {
                    options.AllowEmptyHosts = true;
                    options.AllowedHosts.Add(host.Host);

                    options.IncludeFailureMessage = false;
                });
            }

            if (urlsOptions.EnforceHTTPS && !string.Equals(host.Host, "localhost", StringComparison.OrdinalIgnoreCase))
            {
                services.AddHttpsRedirection(options =>
                {
                    options.HttpsPort = urlsOptions.HttpsPort;
                });
            }
        }