// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Threading.Tasks; using Microsoft.AspNet.Cors; using Microsoft.AspNet.Cors.Core; using Microsoft.Framework.Internal; namespace Microsoft.AspNet.Builder { /// /// The extensions for adding CORS middleware support. /// public static class CorsMiddlewareExtensions { /// /// Adds a CORS middleware to your web application pipeline to allow cross domain requests. /// /// The IApplicationBuilder passed to your Configure method /// The policy name of a configured policy. /// The original app parameter public static IApplicationBuilder UseCors([NotNull]this IApplicationBuilder app, string policyName) { return app.UseMiddleware(policyName); } /// /// Adds a CORS middleware to your web application pipeline to allow cross domain requests. /// /// The IApplicationBuilder passed to your Configure method. /// A delegate which can use a policy builder to build a policy. /// The original app parameter public static IApplicationBuilder UseCors( [NotNull] this IApplicationBuilder app, [NotNull] Action configurePolicy) { var policyBuilder = new CorsPolicyBuilder(); configurePolicy(policyBuilder); return app.UseMiddleware(policyBuilder.Build()); } } }