diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/project.json b/src/Microsoft.AspNetCore.Http.Abstractions/project.json
index 4ae60ff7..1ad6d728 100644
--- a/src/Microsoft.AspNetCore.Http.Abstractions/project.json
+++ b/src/Microsoft.AspNetCore.Http.Abstractions/project.json
@@ -29,13 +29,10 @@
},
"netstandard1.3": {
"dependencies": {
- "System.ComponentModel": "4.0.1-*",
"System.Globalization.Extensions": "4.0.1-*",
"System.Linq.Expressions": "4.0.11-*",
- "System.Net.WebSockets": "4.0.0-*",
"System.Reflection.TypeExtensions": "4.1.0-*",
- "System.Runtime.InteropServices": "4.1.0-*",
- "System.Security.Cryptography.X509Certificates": "4.0.0-*"
+ "System.Runtime.InteropServices": "4.1.0-*"
},
"imports": [
"dotnet5.4"
diff --git a/src/Microsoft.AspNetCore.Http.Extensions/SessionExtensions.cs b/src/Microsoft.AspNetCore.Http.Extensions/SessionExtensions.cs
index 859e6c37..fd7573fa 100644
--- a/src/Microsoft.AspNetCore.Http.Extensions/SessionExtensions.cs
+++ b/src/Microsoft.AspNetCore.Http.Extensions/SessionExtensions.cs
@@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Text;
-using Microsoft.AspNetCore.Http.Features;
namespace Microsoft.AspNetCore.Http
{
diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/CookieOptions.cs b/src/Microsoft.AspNetCore.Http.Features/CookieOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Abstractions/CookieOptions.cs
rename to src/Microsoft.AspNetCore.Http.Features/CookieOptions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/IFormCollection.cs b/src/Microsoft.AspNetCore.Http.Features/IFormCollection.cs
similarity index 97%
rename from src/Microsoft.AspNetCore.Http.Abstractions/IFormCollection.cs
rename to src/Microsoft.AspNetCore.Http.Features/IFormCollection.cs
index 668afa61..3c382f1c 100644
--- a/src/Microsoft.AspNetCore.Http.Abstractions/IFormCollection.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IFormCollection.cs
@@ -18,9 +18,9 @@ public interface IFormCollection : IEnumerable.
///
int Count { get; }
-
+
///
- /// Gets an containing the keys of the
+ /// Gets an containing the keys of the
/// .
///
///
@@ -79,7 +79,7 @@ public interface IFormCollection : IEnumerable
///
- /// has a different indexer contract than
+ /// has a different indexer contract than
/// , as it will return StringValues.Empty for missing entries
/// rather than throwing an Exception.
///
diff --git a/src/Microsoft.AspNetCore.Http/Features/IFormFeature.cs b/src/Microsoft.AspNetCore.Http.Features/IFormFeature.cs
similarity index 94%
rename from src/Microsoft.AspNetCore.Http/Features/IFormFeature.cs
rename to src/Microsoft.AspNetCore.Http.Features/IFormFeature.cs
index 4ed8ba23..f10ed47b 100644
--- a/src/Microsoft.AspNetCore.Http/Features/IFormFeature.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IFormFeature.cs
@@ -4,7 +4,7 @@
using System.Threading;
using System.Threading.Tasks;
-namespace Microsoft.AspNetCore.Http.Features.Internal
+namespace Microsoft.AspNetCore.Http.Features
{
public interface IFormFeature
{
diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/IFormFile.cs b/src/Microsoft.AspNetCore.Http.Features/IFormFile.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Abstractions/IFormFile.cs
rename to src/Microsoft.AspNetCore.Http.Features/IFormFile.cs
diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/IFormFileCollection.cs b/src/Microsoft.AspNetCore.Http.Features/IFormFileCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Abstractions/IFormFileCollection.cs
rename to src/Microsoft.AspNetCore.Http.Features/IFormFileCollection.cs
diff --git a/src/Microsoft.AspNetCore.Http/Features/IItemsFeature.cs b/src/Microsoft.AspNetCore.Http.Features/IItemsFeature.cs
similarity index 85%
rename from src/Microsoft.AspNetCore.Http/Features/IItemsFeature.cs
rename to src/Microsoft.AspNetCore.Http.Features/IItemsFeature.cs
index 68f411b5..bea03e46 100644
--- a/src/Microsoft.AspNetCore.Http/Features/IItemsFeature.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IItemsFeature.cs
@@ -3,7 +3,7 @@
using System.Collections.Generic;
-namespace Microsoft.AspNetCore.Http.Features.Internal
+namespace Microsoft.AspNetCore.Http.Features
{
public interface IItemsFeature
{
diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/IQueryCollection.cs b/src/Microsoft.AspNetCore.Http.Features/IQueryCollection.cs
similarity index 94%
rename from src/Microsoft.AspNetCore.Http.Abstractions/IQueryCollection.cs
rename to src/Microsoft.AspNetCore.Http.Features/IQueryCollection.cs
index 48d8448b..9df3a780 100644
--- a/src/Microsoft.AspNetCore.Http.Abstractions/IQueryCollection.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IQueryCollection.cs
@@ -20,7 +20,7 @@ public interface IQueryCollection : IEnumerable
- /// Gets an containing the keys of the
+ /// Gets an containing the keys of the
/// .
///
///
@@ -73,13 +73,14 @@ public interface IQueryCollection : IEnumerable
///
- /// The element with the specified key, or .Empty if the key is not present.
+ /// The element with the specified key, or .
+ /// Empty if the key is not present.
///
///
/// key is null.
///
///
- /// has a different indexer contract than
+ /// has a different indexer contract than
/// , as it will return StringValues.Empty for missing entries
/// rather than throwing an Exception.
///
diff --git a/src/Microsoft.AspNetCore.Http/Features/IQueryFeature.cs b/src/Microsoft.AspNetCore.Http.Features/IQueryFeature.cs
similarity index 83%
rename from src/Microsoft.AspNetCore.Http/Features/IQueryFeature.cs
rename to src/Microsoft.AspNetCore.Http.Features/IQueryFeature.cs
index 3f89bd2b..4f307f8f 100644
--- a/src/Microsoft.AspNetCore.Http/Features/IQueryFeature.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IQueryFeature.cs
@@ -1,7 +1,7 @@
// 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.
-namespace Microsoft.AspNetCore.Http.Features.Internal
+namespace Microsoft.AspNetCore.Http.Features
{
public interface IQueryFeature
{
diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/IRequestCookieCollection.cs b/src/Microsoft.AspNetCore.Http.Features/IRequestCookieCollection.cs
similarity index 96%
rename from src/Microsoft.AspNetCore.Http.Abstractions/IRequestCookieCollection.cs
rename to src/Microsoft.AspNetCore.Http.Features/IRequestCookieCollection.cs
index 7fffe314..c1a7344c 100644
--- a/src/Microsoft.AspNetCore.Http.Abstractions/IRequestCookieCollection.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IRequestCookieCollection.cs
@@ -17,9 +17,9 @@ public interface IRequestCookieCollection : IEnumerable.
///
int Count { get; }
-
+
///
- /// Gets an containing the keys of the
+ /// Gets an containing the keys of the
/// .
///
///
@@ -27,7 +27,7 @@ public interface IRequestCookieCollection : IEnumerable.
///
ICollection Keys { get; }
-
+
///
/// Determines whether the contains an element
/// with the specified key.
@@ -78,7 +78,7 @@ public interface IRequestCookieCollection : IEnumerable
///
- /// has a different indexer contract than
+ /// has a different indexer contract than
/// , as it will return String.Empty for missing entries
/// rather than throwing an Exception.
///
diff --git a/src/Microsoft.AspNetCore.Http/Features/IRequestCookiesFeature.cs b/src/Microsoft.AspNetCore.Http.Features/IRequestCookiesFeature.cs
similarity index 83%
rename from src/Microsoft.AspNetCore.Http/Features/IRequestCookiesFeature.cs
rename to src/Microsoft.AspNetCore.Http.Features/IRequestCookiesFeature.cs
index 58cf459a..55ba6036 100644
--- a/src/Microsoft.AspNetCore.Http/Features/IRequestCookiesFeature.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IRequestCookiesFeature.cs
@@ -1,7 +1,7 @@
// 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.
-namespace Microsoft.AspNetCore.Http.Features.Internal
+namespace Microsoft.AspNetCore.Http.Features
{
public interface IRequestCookiesFeature
{
diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/IResponseCookies.cs b/src/Microsoft.AspNetCore.Http.Features/IResponseCookies.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Abstractions/IResponseCookies.cs
rename to src/Microsoft.AspNetCore.Http.Features/IResponseCookies.cs
diff --git a/src/Microsoft.AspNetCore.Http/Features/IResponseCookiesFeature.cs b/src/Microsoft.AspNetCore.Http.Features/IResponseCookiesFeature.cs
similarity index 83%
rename from src/Microsoft.AspNetCore.Http/Features/IResponseCookiesFeature.cs
rename to src/Microsoft.AspNetCore.Http.Features/IResponseCookiesFeature.cs
index 92776372..fb5ea092 100644
--- a/src/Microsoft.AspNetCore.Http/Features/IResponseCookiesFeature.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IResponseCookiesFeature.cs
@@ -1,7 +1,7 @@
// 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.
-namespace Microsoft.AspNetCore.Http.Features.Internal
+namespace Microsoft.AspNetCore.Http.Features
{
public interface IResponseCookiesFeature
{
diff --git a/src/Microsoft.AspNetCore.Http/Features/IServiceProvidersFeature.cs b/src/Microsoft.AspNetCore.Http.Features/IServiceProvidersFeature.cs
similarity index 84%
rename from src/Microsoft.AspNetCore.Http/Features/IServiceProvidersFeature.cs
rename to src/Microsoft.AspNetCore.Http.Features/IServiceProvidersFeature.cs
index 9816f2fe..aed0fc91 100644
--- a/src/Microsoft.AspNetCore.Http/Features/IServiceProvidersFeature.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/IServiceProvidersFeature.cs
@@ -3,7 +3,7 @@
using System;
-namespace Microsoft.AspNetCore.Http.Features.Internal
+namespace Microsoft.AspNetCore.Http.Features
{
public interface IServiceProvidersFeature
{
diff --git a/src/Microsoft.AspNetCore.Http.Features/ISession.cs b/src/Microsoft.AspNetCore.Http.Features/ISession.cs
index 05b846d8..0904703d 100644
--- a/src/Microsoft.AspNetCore.Http.Features/ISession.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/ISession.cs
@@ -4,7 +4,7 @@
using System.Collections.Generic;
using System.Threading.Tasks;
-namespace Microsoft.AspNetCore.Http.Features
+namespace Microsoft.AspNetCore.Http
{
public interface ISession
{
diff --git a/src/Microsoft.AspNetCore.Http.Features/WebSocketAcceptContext.cs b/src/Microsoft.AspNetCore.Http.Features/WebSocketAcceptContext.cs
index b2627f55..5e3659d6 100644
--- a/src/Microsoft.AspNetCore.Http.Features/WebSocketAcceptContext.cs
+++ b/src/Microsoft.AspNetCore.Http.Features/WebSocketAcceptContext.cs
@@ -1,7 +1,7 @@
// 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.
-namespace Microsoft.AspNetCore.Http.Features
+namespace Microsoft.AspNetCore.Http
{
public class WebSocketAcceptContext
{
diff --git a/src/Microsoft.AspNetCore.Http.Features/project.json b/src/Microsoft.AspNetCore.Http.Features/project.json
index da11fe30..d6ccd9fb 100644
--- a/src/Microsoft.AspNetCore.Http.Features/project.json
+++ b/src/Microsoft.AspNetCore.Http.Features/project.json
@@ -21,6 +21,7 @@
"netstandard1.3": {
"dependencies": {
"System.Collections": "4.0.11-*",
+ "System.ComponentModel": "4.0.1-*",
"System.Linq": "4.1.0-*",
"System.Net.Primitives": "4.0.11-*",
"System.Net.WebSockets": "4.0.0-*",
diff --git a/src/Microsoft.AspNetCore.Owin/OwinEnvironment.cs b/src/Microsoft.AspNetCore.Owin/OwinEnvironment.cs
index a69bcde2..fb0d9542 100644
--- a/src/Microsoft.AspNetCore.Owin/OwinEnvironment.cs
+++ b/src/Microsoft.AspNetCore.Owin/OwinEnvironment.cs
@@ -16,9 +16,9 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features;
-using Microsoft.AspNetCore.Http.Features.Internal;
using Microsoft.AspNetCore.Http.Features.Authentication;
using Microsoft.AspNetCore.Http.Features.Authentication.Internal;
+using Microsoft.AspNetCore.Http.Features.Internal;
namespace Microsoft.AspNetCore.Owin
{
diff --git a/src/Microsoft.AspNetCore.Owin/WebSockets/OwinWebSocketAcceptAdapter.cs b/src/Microsoft.AspNetCore.Owin/WebSockets/OwinWebSocketAcceptAdapter.cs
index 3cee220f..3833f39a 100644
--- a/src/Microsoft.AspNetCore.Owin/WebSockets/OwinWebSocketAcceptAdapter.cs
+++ b/src/Microsoft.AspNetCore.Owin/WebSockets/OwinWebSocketAcceptAdapter.cs
@@ -5,7 +5,7 @@
using System.Collections.Generic;
using System.Net.WebSockets;
using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http.Features;
+using Microsoft.AspNetCore.Http;
namespace Microsoft.AspNetCore.Owin
{
diff --git a/src/Microsoft.AspNetCore.Owin/WebSockets/OwinWebSocketAcceptContext.cs b/src/Microsoft.AspNetCore.Owin/WebSockets/OwinWebSocketAcceptContext.cs
index a891c961..a9fd28ed 100644
--- a/src/Microsoft.AspNetCore.Owin/WebSockets/OwinWebSocketAcceptContext.cs
+++ b/src/Microsoft.AspNetCore.Owin/WebSockets/OwinWebSocketAcceptContext.cs
@@ -2,7 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic;
-using Microsoft.AspNetCore.Http.Features;
+using Microsoft.AspNetCore.Http;
namespace Microsoft.AspNetCore.Owin
{
diff --git a/src/Microsoft.AspNetCore.Owin/WebSockets/WebSocketAcceptAdapter.cs b/src/Microsoft.AspNetCore.Owin/WebSockets/WebSocketAcceptAdapter.cs
index 41b1960c..a77eeb67 100644
--- a/src/Microsoft.AspNetCore.Owin/WebSockets/WebSocketAcceptAdapter.cs
+++ b/src/Microsoft.AspNetCore.Owin/WebSockets/WebSocketAcceptAdapter.cs
@@ -6,7 +6,7 @@
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http.Features;
+using Microsoft.AspNetCore.Http;
namespace Microsoft.AspNetCore.Owin
{
diff --git a/test/Microsoft.AspNetCore.Http.Tests/DefaultHttpContextTests.cs b/test/Microsoft.AspNetCore.Http.Tests/DefaultHttpContextTests.cs
index a47c97a0..fe58c810 100644
--- a/test/Microsoft.AspNetCore.Http.Tests/DefaultHttpContextTests.cs
+++ b/test/Microsoft.AspNetCore.Http.Tests/DefaultHttpContextTests.cs
@@ -8,7 +8,6 @@
using System.Reflection;
using System.Security.Claims;
using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http.Authentication.Internal;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Http.Features.Internal;
using Xunit;
@@ -204,7 +203,7 @@ void TestCachedFeaturesAreNull(object value, IFeatureCollection features)
var field = type
.GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
- .Single(f =>
+ .Single(f =>
f.FieldType.GetTypeInfo().IsGenericType &&
f.FieldType.GetGenericTypeDefinition() == typeof(FeatureReferences<>));