diff --git a/src/Microsoft.AspNet.Cors.Core/CorsOptions.cs b/src/Microsoft.AspNet.Cors.Core/CorsOptions.cs
index b460d65c20..27fe79aee8 100644
--- a/src/Microsoft.AspNet.Cors.Core/CorsOptions.cs
+++ b/src/Microsoft.AspNet.Cors.Core/CorsOptions.cs
@@ -3,8 +3,6 @@
using System;
using System.Collections.Generic;
-using Microsoft.AspNet.Cors.Core;
-using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Cors.Core
{
@@ -22,10 +20,13 @@ namespace Microsoft.AspNet.Cors.Core
{
return _defaultPolicyName;
}
-
- [param: NotNull]
set
{
+ if (value == null)
+ {
+ throw new ArgumentNullException(nameof(value));
+ }
+
_defaultPolicyName = value;
}
}
@@ -35,8 +36,18 @@ namespace Microsoft.AspNet.Cors.Core
///
/// The name of the policy.
/// The policy to be added.
- public void AddPolicy([NotNull] string name, [NotNull] CorsPolicy policy)
+ public void AddPolicy(string name, CorsPolicy policy)
{
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ if (policy == null)
+ {
+ throw new ArgumentNullException(nameof(policy));
+ }
+
PolicyMap[name] = policy;
}
@@ -45,8 +56,18 @@ namespace Microsoft.AspNet.Cors.Core
///
/// The name of the policy.
/// A delegate which can use a policy builder to build a policy.
- public void AddPolicy([NotNull] string name, [NotNull] Action configurePolicy)
+ public void AddPolicy(string name, Action configurePolicy)
{
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ if (configurePolicy == null)
+ {
+ throw new ArgumentNullException(nameof(configurePolicy));
+ }
+
var policyBuilder = new CorsPolicyBuilder();
configurePolicy(policyBuilder);
PolicyMap[name] = policyBuilder.Build();
@@ -57,8 +78,13 @@ namespace Microsoft.AspNet.Cors.Core
///
/// The name of the policy to lookup.
/// The if the policy was added.null otherwise.
- public CorsPolicy GetPolicy([NotNull] string name)
+ public CorsPolicy GetPolicy(string name)
{
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
return PolicyMap.ContainsKey(name) ? PolicyMap[name] : null;
}
}
diff --git a/src/Microsoft.AspNet.Cors.Core/CorsPolicyBuilder.cs b/src/Microsoft.AspNet.Cors.Core/CorsPolicyBuilder.cs
index 9a5c409f77..99c1a0b795 100644
--- a/src/Microsoft.AspNet.Cors.Core/CorsPolicyBuilder.cs
+++ b/src/Microsoft.AspNet.Cors.Core/CorsPolicyBuilder.cs
@@ -4,7 +4,6 @@
using System;
using System.Linq;
using Microsoft.AspNet.Cors.Core;
-using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Cors
{
@@ -171,8 +170,13 @@ namespace Microsoft.AspNet.Cors
///
/// The policy which needs to be combined.
/// The current policy builder
- private CorsPolicyBuilder Combine([NotNull] CorsPolicy policy)
+ private CorsPolicyBuilder Combine(CorsPolicy policy)
{
+ if (policy == null)
+ {
+ throw new ArgumentNullException(nameof(policy));
+ }
+
WithOrigins(policy.Origins.ToArray());
WithHeaders(policy.Headers.ToArray());
WithExposedHeaders(policy.ExposedHeaders.ToArray());
diff --git a/src/Microsoft.AspNet.Cors.Core/CorsService.cs b/src/Microsoft.AspNet.Cors.Core/CorsService.cs
index f9a2d6ea8e..de4a1cd8fc 100644
--- a/src/Microsoft.AspNet.Cors.Core/CorsService.cs
+++ b/src/Microsoft.AspNet.Cors.Core/CorsService.cs
@@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Microsoft.AspNet.Http;
-using Microsoft.Framework.Internal;
using Microsoft.Framework.OptionsModel;
using Microsoft.Framework.Primitives;
@@ -23,8 +22,13 @@ namespace Microsoft.AspNet.Cors.Core
/// Creates a new instance of the .
///
/// The option model representing .
- public CorsService([NotNull] IOptions options)
+ public CorsService(IOptions options)
{
+ if (options == null)
+ {
+ throw new ArgumentNullException(nameof(options));
+ }
+
_options = options.Value;
}
@@ -36,15 +40,30 @@ namespace Microsoft.AspNet.Cors.Core
///
/// A which contains the result of policy evaluation and can be
/// used by the caller to set appropriate response headers.
- public CorsResult EvaluatePolicy([NotNull] HttpContext context, string policyName)
+ public CorsResult EvaluatePolicy(HttpContext context, string policyName)
{
+ if (context == null)
+ {
+ throw new ArgumentNullException(nameof(context));
+ }
+
var policy = _options.GetPolicy(policyName);
return EvaluatePolicy(context, policy);
}
///
- public CorsResult EvaluatePolicy([NotNull] HttpContext context, [NotNull] CorsPolicy policy)
+ public CorsResult EvaluatePolicy(HttpContext context, CorsPolicy policy)
{
+ if (context == null)
+ {
+ throw new ArgumentNullException(nameof(context));
+ }
+
+ if (policy == null)
+ {
+ throw new ArgumentNullException(nameof(policy));
+ }
+
var corsResult = new CorsResult();
var accessControlRequestMethod = context.Request.Headers[CorsConstants.AccessControlRequestMethod];
if (string.Equals(context.Request.Method, CorsConstants.PreflightHttpMethod, StringComparison.Ordinal) &&
@@ -113,6 +132,16 @@ namespace Microsoft.AspNet.Cors.Core
///
public virtual void ApplyResult(CorsResult result, HttpResponse response)
{
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ if (response == null)
+ {
+ throw new ArgumentNullException(nameof(response));
+ }
+
var headers = response.Headers;
if (result.AllowedOrigin != null)
diff --git a/src/Microsoft.AspNet.Cors.Core/CorsServiceCollectionExtensions.cs b/src/Microsoft.AspNet.Cors.Core/CorsServiceCollectionExtensions.cs
index d22dd2c855..e46363ad97 100644
--- a/src/Microsoft.AspNet.Cors.Core/CorsServiceCollectionExtensions.cs
+++ b/src/Microsoft.AspNet.Cors.Core/CorsServiceCollectionExtensions.cs
@@ -2,11 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using Microsoft.AspNet.Cors;
using Microsoft.AspNet.Cors.Core;
-using Microsoft.Framework.Configuration;
using Microsoft.Framework.DependencyInjection.Extensions;
-using Microsoft.Framework.Internal;
namespace Microsoft.Framework.DependencyInjection
{
@@ -22,9 +19,19 @@ namespace Microsoft.Framework.DependencyInjection
/// A delegate which is run to configure the services.
///
public static IServiceCollection ConfigureCors(
- [NotNull] this IServiceCollection serviceCollection,
- [NotNull] Action configure)
+ this IServiceCollection serviceCollection,
+ Action configure)
{
+ if (serviceCollection == null)
+ {
+ throw new ArgumentNullException(nameof(serviceCollection));
+ }
+
+ if (configure == null)
+ {
+ throw new ArgumentNullException(nameof(configure));
+ }
+
return serviceCollection.Configure(configure);
}
diff --git a/src/Microsoft.AspNet.Cors.Core/DefaultCorsPolicyProvider.cs b/src/Microsoft.AspNet.Cors.Core/DefaultCorsPolicyProvider.cs
index e5ee17294f..188b8930fe 100644
--- a/src/Microsoft.AspNet.Cors.Core/DefaultCorsPolicyProvider.cs
+++ b/src/Microsoft.AspNet.Cors.Core/DefaultCorsPolicyProvider.cs
@@ -1,9 +1,9 @@
// 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.Http;
-using Microsoft.Framework.Internal;
using Microsoft.Framework.OptionsModel;
namespace Microsoft.AspNet.Cors.Core
@@ -25,6 +25,11 @@ namespace Microsoft.AspNet.Cors.Core
///
public Task GetPolicyAsync(HttpContext context, string policyName)
{
+ if (context == null)
+ {
+ throw new ArgumentNullException(nameof(context));
+ }
+
return Task.FromResult(_options.GetPolicy(policyName ?? _options.DefaultPolicyName));
}
}
diff --git a/src/Microsoft.AspNet.Cors.Core/ICorsPolicyProvider.cs b/src/Microsoft.AspNet.Cors.Core/ICorsPolicyProvider.cs
index bc92954e9f..fa13aab7e4 100644
--- a/src/Microsoft.AspNet.Cors.Core/ICorsPolicyProvider.cs
+++ b/src/Microsoft.AspNet.Cors.Core/ICorsPolicyProvider.cs
@@ -3,7 +3,6 @@
using System.Threading.Tasks;
using Microsoft.AspNet.Http;
-using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Cors.Core
{
@@ -18,6 +17,6 @@ namespace Microsoft.AspNet.Cors.Core
/// The associated with this call.
/// An optional policy name to look for.
/// A
- Task GetPolicyAsync([NotNull] HttpContext context, string policyName);
+ Task GetPolicyAsync(HttpContext context, string policyName);
}
}
\ No newline at end of file
diff --git a/src/Microsoft.AspNet.Cors.Core/ICorsService.cs b/src/Microsoft.AspNet.Cors.Core/ICorsService.cs
index 5259e13493..3c94859856 100644
--- a/src/Microsoft.AspNet.Cors.Core/ICorsService.cs
+++ b/src/Microsoft.AspNet.Cors.Core/ICorsService.cs
@@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNet.Http;
-using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Cors.Core
{
@@ -18,7 +17,7 @@ namespace Microsoft.AspNet.Cors.Core
/// The which needs to be evaluated.
/// A which contains the result of policy evaluation and can be
/// used by the caller to set apporpriate response headers.
- CorsResult EvaluatePolicy([NotNull] HttpContext context, [NotNull] CorsPolicy policy);
+ CorsResult EvaluatePolicy(HttpContext context, CorsPolicy policy);
///
@@ -26,7 +25,7 @@ namespace Microsoft.AspNet.Cors.Core
///
/// The used to read the allowed values.
/// The associated with the current call.
- void ApplyResult([NotNull] CorsResult result, [NotNull] HttpResponse response);
+ void ApplyResult(CorsResult result, HttpResponse response);
}
}
\ No newline at end of file
diff --git a/src/Microsoft.AspNet.Cors.Core/project.json b/src/Microsoft.AspNet.Cors.Core/project.json
index 48b267a114..6962c1be73 100644
--- a/src/Microsoft.AspNet.Cors.Core/project.json
+++ b/src/Microsoft.AspNet.Cors.Core/project.json
@@ -8,19 +8,11 @@
"Microsoft.AspNet.Http.Extensions": "1.0.0-*",
"Microsoft.Framework.Configuration.Abstractions": "1.0.0-*",
"Microsoft.Framework.DependencyInjection.Abstractions": "1.0.0-*",
- "Microsoft.Framework.NotNullAttribute.Sources": { "version": "1.0.0-*", "type": "build" },
"Microsoft.Framework.OptionsModel": "1.0.0-*"
},
"frameworks" : {
- "dnx451" : {
- "dependencies": {
- }
- },
- "dnxcore50" : {
- "dependencies": {
- "System.Runtime": "4.0.21-beta-*"
- }
- }
+ "dnx451" : { },
+ "dnxcore50" : { }
}
}
diff --git a/src/Microsoft.AspNet.Cors/CorsMiddleware.cs b/src/Microsoft.AspNet.Cors/CorsMiddleware.cs
index a0ef8c2ff1..cccac69fec 100644
--- a/src/Microsoft.AspNet.Cors/CorsMiddleware.cs
+++ b/src/Microsoft.AspNet.Cors/CorsMiddleware.cs
@@ -6,7 +6,6 @@ using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Cors.Core;
using Microsoft.AspNet.Http;
-using Microsoft.Framework.Internal;
using Microsoft.Framework.Primitives;
namespace Microsoft.AspNet.Cors
@@ -30,11 +29,26 @@ namespace Microsoft.AspNet.Cors
/// A policy provider which can get an .
/// An optional name of the policy to be fetched.
public CorsMiddleware(
- [NotNull] RequestDelegate next,
- [NotNull] ICorsService corsService,
- [NotNull] ICorsPolicyProvider policyProvider,
+ RequestDelegate next,
+ ICorsService corsService,
+ ICorsPolicyProvider policyProvider,
string policyName)
{
+ if (next == null)
+ {
+ throw new ArgumentNullException(nameof(next));
+ }
+
+ if (corsService == null)
+ {
+ throw new ArgumentNullException(nameof(corsService));
+ }
+
+ if (policyProvider == null)
+ {
+ throw new ArgumentNullException(nameof(policyProvider));
+ }
+
_next = next;
_corsService = corsService;
_corsPolicyProvider = policyProvider;
@@ -48,10 +62,25 @@ namespace Microsoft.AspNet.Cors
/// An instance of .
/// An instance of the which can be applied.
public CorsMiddleware(
- [NotNull] RequestDelegate next,
- [NotNull] ICorsService corsService,
- [NotNull] CorsPolicy policy)
+ RequestDelegate next,
+ ICorsService corsService,
+ CorsPolicy policy)
{
+ if (next == null)
+ {
+ throw new ArgumentNullException(nameof(next));
+ }
+
+ if (corsService == null)
+ {
+ throw new ArgumentNullException(nameof(corsService));
+ }
+
+ if (policy == null)
+ {
+ throw new ArgumentNullException(nameof(policy));
+ }
+
_next = next;
_corsService = corsService;
_policy = policy;
@@ -68,7 +97,7 @@ namespace Microsoft.AspNet.Cors
var corsResult = _corsService.EvaluatePolicy(context, corsPolicy);
_corsService.ApplyResult(corsResult, context.Response);
- var accessControlRequestMethod =
+ var accessControlRequestMethod =
context.Request.Headers[CorsConstants.AccessControlRequestMethod];
if (string.Equals(
context.Request.Method,
diff --git a/src/Microsoft.AspNet.Cors/CorsMiddlewareExtensions.cs b/src/Microsoft.AspNet.Cors/CorsMiddlewareExtensions.cs
index a66484a475..b92a22180e 100644
--- a/src/Microsoft.AspNet.Cors/CorsMiddlewareExtensions.cs
+++ b/src/Microsoft.AspNet.Cors/CorsMiddlewareExtensions.cs
@@ -2,10 +2,7 @@
// 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
{
@@ -20,8 +17,13 @@ namespace Microsoft.AspNet.Builder
/// 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)
+ public static IApplicationBuilder UseCors(this IApplicationBuilder app, string policyName)
{
+ if (app == null)
+ {
+ throw new ArgumentNullException(nameof(app));
+ }
+
return app.UseMiddleware(policyName);
}
@@ -32,9 +34,19 @@ namespace Microsoft.AspNet.Builder
/// 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)
+ this IApplicationBuilder app,
+ Action configurePolicy)
{
+ if (app == null)
+ {
+ throw new ArgumentNullException(nameof(app));
+ }
+
+ if (configurePolicy == null)
+ {
+ throw new ArgumentNullException(nameof(configurePolicy));
+ }
+
var policyBuilder = new CorsPolicyBuilder();
configurePolicy(policyBuilder);
return app.UseMiddleware(policyBuilder.Build());
diff --git a/src/Microsoft.AspNet.Cors/project.json b/src/Microsoft.AspNet.Cors/project.json
index 9d0567f960..0a77b75df6 100644
--- a/src/Microsoft.AspNet.Cors/project.json
+++ b/src/Microsoft.AspNet.Cors/project.json
@@ -5,19 +5,11 @@
"url": "https://github.com/aspnet/cors"
},
"dependencies": {
- "Microsoft.AspNet.Cors.Core": "1.0.0-*",
- "Microsoft.Framework.NotNullAttribute.Sources": { "version": "1.0.0-*", "type": "build" }
+ "Microsoft.AspNet.Cors.Core": "1.0.0-*"
},
"frameworks" : {
- "dnx451" : {
- "dependencies": {
- }
- },
- "dnxcore50" : {
- "dependencies": {
- "System.Runtime": "4.0.21-beta-*"
- }
- }
+ "dnx451" : { },
+ "dnxcore50" : { }
}
}