Ejemplo n.º 1
0
    public void AddDefaultPolicy_OverridesDefaultPolicyName()
    {
        // Arrange
        var corsOptions    = new CorsOptions();
        var expectedPolicy = new CorsPolicy();

        // Act
        corsOptions.AddDefaultPolicy(new CorsPolicy());
        corsOptions.AddDefaultPolicy(expectedPolicy);

        // Assert
        var actualPolicy = corsOptions.GetPolicy(corsOptions.DefaultPolicyName);

        Assert.Same(expectedPolicy, actualPolicy);
    }
Ejemplo n.º 2
0
        public async Task Invoke_HasCorsConfig_InvokesNext()
        {
            var testOrigin      = "https://functions.azure.com";
            var hostCorsOptions = new OptionsWrapper <HostCorsOptions>(new HostCorsOptions
            {
                AllowedOrigins = new List <string> {
                    testOrigin
                }
            });
            var testPolicy  = new CorsPolicy();
            var testOptions = new CorsOptions();

            testOptions.AddDefaultPolicy(testPolicy);
            var corsOptions = new OptionsWrapper <CorsOptions>(testOptions);
            var corsFactory = new CorsMiddlewareFactory(corsOptions, NullLoggerFactory.Instance);

            bool            nextInvoked = false;
            RequestDelegate next        = (context) =>
            {
                nextInvoked = true;
                context.Response.StatusCode = (int)HttpStatusCode.Accepted;
                return(Task.CompletedTask);
            };

            var middleware = new JobHostCorsMiddleware(hostCorsOptions, corsFactory);

            var httpContext = new DefaultHttpContext();
            await middleware.Invoke(httpContext, next);

            Assert.True(nextInvoked);
        }
Ejemplo n.º 3
0
 private static void ConfigureCors(CorsOptions cors)
 {
     cors.AddDefaultPolicy(policy => policy
                           .AllowAnyOrigin()
                           .WithHeaders(HeaderNames.ContentType)
                           .WithMethods(HttpMethods.Post));
 }
Ejemplo n.º 4
0
        public static void Configure(CorsOptions options)
        {
            options.AddDefaultPolicy(
                builder =>
            {
                builder.AllowAnyMethod()
                .AllowAnyHeader()
                .WithOrigins(
                    "http://localhost:8008",
                    "https://localhost:8008")
                .AllowCredentials();
            });

            options.AddPolicy(AllowAllOriginsCorsPolicy,
                              builder =>
            {
                builder.AllowAnyOrigin()
                .AllowAnyHeader()
                .AllowAnyMethod();
            });

            options.AddPolicy(AllowKnownClientOriginsCorsPolicy,
                              builder =>
            {
                builder.AllowAnyMethod()
                .AllowAnyHeader()
                .WithOrigins(
                    "http://localhost:8008",
                    "https://localhost:8008")
                .AllowCredentials();
            });
        }
Ejemplo n.º 5
0
 private void ConfigureCorsOptions(CorsOptions options)
 {
     options.AddDefaultPolicy(b => {
         b.AllowAnyHeader()
         .AllowAnyMethod()
         .AllowAnyOrigin();
     });
 }
Ejemplo n.º 6
0
 public static CorsOptions AddDefaultPolicy([NotNull] this CorsOptions thisValue, [NotNull] Action <CorsPolicyBuilder> configurePolicy, params string[] origins)
 {
     thisValue.AddDefaultPolicy(builder =>
     {
         builder.BuildDefaultPolicy(origins);
         configurePolicy(builder);
     });
     return(thisValue);
 }
Ejemplo n.º 7
0
 void ConfigureDefaultCorsPolicy(CorsOptions opts)
 {
     opts.AddDefaultPolicy(builder =>
     {
         builder
         .WithOrigins(GetCorsOrigins())
         .AllowAnyHeader()
         .AllowAnyMethod();
     });
 }
Ejemplo n.º 8
0
        public static CorsOptions UseConfiguredCors(
            this CorsOptions builder,
            IConfiguration section
            )
        {
            CorsPolicyOptions policy = new CorsPolicyOptions();

            ConfigurationBinder.Bind(section, policy);
            builder.AddDefaultPolicy(policy.Build());
            return(builder);
        }
Ejemplo n.º 9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="corsOptions"></param>
        protected virtual void ConfigureCors(CorsOptions corsOptions)
        {
            var corsPolicyBuilder = new CorsPolicyBuilder(new CorsPolicy())
                                    .AllowAnyHeader()
                                    .AllowAnyMethod()
                                    .AllowAnyOrigin()
                                    .AllowCredentials()
                                    .WithExposedHeaders(HttpResponseHeader.Location.ToString(),
                                                        Constants.SharedHttpHeaders.PagingTotal,
                                                        Constants.SharedHttpHeaders.PagingFirst,
                                                        Constants.SharedHttpHeaders.PagingLast);

            corsOptions.AddDefaultPolicy(corsPolicyBuilder.Build());
        }
Ejemplo n.º 10
0
    static void ConfigureDefaultCorsPolicy(CorsOptions opts, UrlConfig urlConfig)
    {
        opts.AddDefaultPolicy(policy => {
            var origins = new string[] {
                urlConfig.Www,
                urlConfig.Photos,
                urlConfig.Files
            };

            policy.WithOrigins(origins)
            .WithExposedHeaders(new string[] {
                "Content-Disposition"
            })
            .AllowCredentials()
            .AllowAnyHeader()
            .AllowAnyMethod();
        });
    }
Ejemplo n.º 11
0
    public void AddDefaultPolicy_UsingPolicyBuilder_SetsDefaultPolicyName()
    {
        // Arrange
        var        corsOptions    = new CorsOptions();
        CorsPolicy expectedPolicy = null;

        // Act
        corsOptions.AddPolicy("policy1", policyBuilder =>
        {
            policyBuilder.AllowAnyOrigin().Build();
        });
        corsOptions.AddDefaultPolicy(policyBuilder =>
        {
            expectedPolicy = policyBuilder.AllowAnyOrigin().Build();
        });
        corsOptions.AddPolicy("policy3", new CorsPolicy());

        // Assert
        var actualPolicy = corsOptions.GetPolicy(corsOptions.DefaultPolicyName);

        Assert.Same(expectedPolicy, actualPolicy);
    }
Ejemplo n.º 12
0
 static void SetupCorsOptions(CorsOptions options) =>
 options.AddDefaultPolicy(x => x.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
Ejemplo n.º 13
0
 private static void ConfigureCorsPolicies(CorsOptions options)
 {
     options.AddDefaultPolicy(ConfigureDefaultCorsPolicy);
 }
Ejemplo n.º 14
0
 public static CorsOptions AddDefaultPolicy([NotNull] this CorsOptions thisValue, params string[] origins)
 {
     thisValue.AddDefaultPolicy(builder => builder.BuildDefaultPolicy(origins));
     return(thisValue);
 }
 private static void CustomCorsOptionsSetupAction(CorsOptions corsOptions)
 {
     corsOptions.AddDefaultPolicy(defaultPolicy);
 }