From 2f2cec4acec69c09228fb0062c12e96ff4f686c6 Mon Sep 17 00:00:00 2001
From: Nate McMaster <nate.mcmaster@microsoft.com>
Date: Fri, 30 Nov 2018 14:21:50 -0800
Subject: [PATCH] Reorganize source code in preparation to move into
 aspnet/AspNetCore

Prior to reorganization, this source code was found in https://github.com/aspnet/BasicMiddleware/tree/1de636cd18309070792b68888ca29c8b85fac98b
---
 .appveyor.yml                                 |  17 -
 .gitattributes                                |  51 ---
 .gitignore                                    |  35 --
 .travis.yml                                   |  27 --
 BasicMiddleware.sln                           | 185 ----------
 CONTRIBUTING.md                               |   4 -
 Directory.Build.props                         |  21 --
 Directory.Build.targets                       |   7 -
 LICENSE.txt                                   |  14 -
 NuGet.config                                  |   7 -
 NuGetPackageVerifier.json                     |   7 -
 README.md                                     |  11 -
 build.cmd                                     |   2 -
 build.sh                                      |   8 -
 build/Key.snk                                 | Bin 596 -> 0 bytes
 build/dependencies.props                      |  43 ---
 build/repo.props                              |  15 -
 build/sources.props                           |  17 -
 korebuild-lock.txt                            |   2 -
 korebuild.json                                |   4 -
 run.cmd                                       |   2 -
 run.ps1                                       | 196 -----------
 run.sh                                        | 231 -------------
 .../HostFilteringSample.csproj                |  29 --
 .../HttpOverridesSample.csproj                |  15 -
 .../HttpsPolicySample.csproj                  |  18 -
 .../Properties/launchSettings.json            |  25 --
 .../ResponseBufferingSample.csproj            |  15 -
 samples/ResponseBufferingSample/Startup.cs    |  50 ---
 .../ResponseCompressionSample.csproj          |  20 --
 samples/RewriteSample/RewriteSample.csproj    |  16 -
 src/Directory.Build.props                     |   7 -
 .../BufferingWriteStream.cs                   | 218 ------------
 .../HttpBufferingFeature.cs                   |  30 --
 .../Microsoft.AspNetCore.Buffering.csproj     |  19 --
 .../ResponseBufferingMiddleware.cs            |  65 ----
 .../ResponseBufferingMiddlewareExtensions.cs  |  20 --
 .../SendFileFeatureWrapper.cs                 |  28 --
 .../Microsoft.AspNetCore.HostFiltering.csproj |  18 -
 .../Microsoft.AspNetCore.HttpsPolicy.csproj   |  20 --
 .../Microsoft.AspNetCore.Rewrite.csproj       |  23 --
 .../sample/HostFilteringSample.csproj         |  26 ++
 .../HostFiltering/sample}/Program.cs          |   0
 .../sample}/Properties/launchSettings.json    |   0
 .../HostFiltering/sample}/Startup.cs          |   0
 .../sample}/appsettings.Development.json      |   0
 .../sample}/appsettings.Production.json       |   0
 .../HostFiltering/sample}/appsettings.json    |   0
 .../src}/HostFilteringBuilderExtensions.cs    |   0
 .../src}/HostFilteringMiddleware.cs           |   0
 .../src}/HostFilteringOptions.cs              |   0
 .../src}/HostFilteringServicesExtensions.cs   |   0
 .../Microsoft.AspNetCore.HostFiltering.csproj |  18 +
 .../HostFiltering/src}/baseline.netcore.json  |   0
 .../test}/HostFilteringMiddlewareTests.cs     |   0
 ...soft.AspNetCore.HostFiltering.Tests.csproj |  12 +
 .../sample/HttpOverridesSample.csproj         |  12 +
 .../sample}/Properties/launchSettings.json    |   0
 .../HttpOverrides/sample}/Startup.cs          |   0
 .../HttpOverrides/src}/ForwardedHeaders.cs    |   0
 .../src}/ForwardedHeadersDefaults.cs          |   0
 .../src}/ForwardedHeadersExtensions.cs        |   0
 .../src}/ForwardedHeadersMiddleware.cs        |   0
 .../src}/ForwardedHeadersOptions.cs           |   0
 .../src}/HttpMethodOverrideExtensions.cs      |   0
 .../src}/HttpMethodOverrideMiddleware.cs      |   0
 .../src}/HttpMethodOverrideOptions.cs         |   0
 .../HttpOverrides/src}/IPNetwork.cs           |   0
 .../src}/Internal/IPEndPointParser.cs         |   0
 .../Microsoft.AspNetCore.HttpOverrides.csproj |   6 +-
 .../HttpOverrides/src}/baseline.net45.json    |   0
 .../HttpOverrides/src}/baseline.netcore.json  |   0
 .../test}/ForwardedHeadersMiddlewareTest.cs   |   0
 .../test}/HttpMethodOverrideMiddlewareTest.cs |   0
 .../test}/IPEndPointParserTest.cs             |   0
 .../HttpOverrides/test}/IPNetworkTest.cs      |   0
 ...soft.AspNetCore.HttpOverrides.Tests.csproj |   3 +-
 .../sample/HttpsPolicySample.csproj           |  14 +
 .../sample}/Properties/launchSettings.json    |   0
 .../Middleware/HttpsPolicy/sample}/Startup.cs |   0
 .../HttpsPolicy/sample}/testCert.pfx          | Bin
 .../HttpsPolicy/src}/HstsBuilderExtensions.cs |   0
 .../HttpsPolicy/src}/HstsMiddleware.cs        |   0
 .../HttpsPolicy/src}/HstsOptions.cs           |   0
 .../src}/HstsServicesExtensions.cs            |   0
 .../src}/HttpsRedirectionBuilderExtensions.cs |   0
 .../src}/HttpsRedirectionMiddleware.cs        |   0
 .../src}/HttpsRedirectionOptions.cs           |   0
 .../HttpsRedirectionServicesExtensions.cs     |   0
 .../Microsoft.AspNetCore.HttpsPolicy.csproj   |  20 ++
 .../HttpsPolicy/src}/baseline.netcore.json    |   0
 .../src}/internal/HttpsLoggingExtensions.cs   |   0
 .../HttpsPolicy/test}/HstsMiddlewareTests.cs  |   0
 .../HttpsPolicy/test}/HttpsPolicyTests.cs     |   0
 .../test}/HttpsRedirectionMiddlewareTests.cs  |   0
 ...rosoft.AspNetCore.HttpsPolicy.Tests.csproj |   7 +-
 .../sample}/CustomCompressionProvider.cs      |   0
 .../ResponseCompression/sample}/LoremIpsum.cs |   0
 .../sample}/Properties/launchSettings.json    |   0
 .../sample/ResponseCompressionSample.csproj   |  17 +
 .../ResponseCompression/sample}/Startup.cs    |   0
 .../sample}/testfile1kb.txt                   |   0
 .../src}/BodyWrapperStream.cs                 |   0
 .../src}/CompressionProviderCollection.cs     |   0
 .../src}/CompressionProviderFactory.cs        |   0
 .../src}/GzipCompressionProvider.cs           |   0
 .../src}/GzipCompressionProviderOptions.cs    |   0
 .../src}/ICompressionProvider.cs              |   0
 .../src}/IResponseCompressionProvider.cs      |   0
 ...soft.AspNetCore.ResponseCompression.csproj |   4 +-
 .../src}/Properties/AssemblyInfo.cs           |   0
 .../ResponseCompressionBuilderExtensions.cs   |   0
 .../src}/ResponseCompressionDefaults.cs       |   0
 .../src}/ResponseCompressionMiddleware.cs     |   0
 .../src}/ResponseCompressionOptions.cs        |   0
 .../src}/ResponseCompressionProvider.cs       |   0
 .../ResponseCompressionServicesExtensions.cs  |   0
 .../src}/baseline.netcore.json                |   0
 .../src}/baseline.netframework.json           |   0
 .../test}/BodyWrapperStreamTests.cs           |   0
 ...spNetCore.ResponseCompression.Tests.csproj |  18 +
 .../ResponseCompressionMiddlewareTest.cs      |   0
 .../ResponseCompression/test}/testfile1kb.txt |   0
 .../sample}/Properties/launchSettings.json    |   0
 .../Middleware/Rewrite/sample}/Rewrite.txt    |   0
 .../Rewrite/sample/RewriteSample.csproj       |  13 +
 .../Middleware/Rewrite/sample}/Startup.cs     |   0
 .../Middleware/Rewrite/sample}/UrlRewrite.xml |   0
 .../Middleware/Rewrite/sample}/testCert.pfx   | Bin
 .../src}/ApacheModRewriteOptionsExtensions.cs |   0
 .../RewriteMiddlewareLoggingExtensions.cs     |   0
 .../src}/IISUrlRewriteOptionsExtensions.cs    |   0
 .../Rewrite/src}/IRule.cs                     |   0
 .../ApacheModRewrite/ApacheModRewriteRule.cs  |   0
 .../Internal/ApacheModRewrite/Condition.cs    |   0
 .../ApacheModRewrite/ConditionEvaluator.cs    |   0
 .../ConditionPatternParser.cs                 |   0
 .../ApacheModRewrite/ConditionType.cs         |   0
 .../ApacheModRewrite/CookieActionFactory.cs   |   0
 .../Internal/ApacheModRewrite/FileParser.cs   |   0
 .../Internal/ApacheModRewrite/FlagParser.cs   |   0
 .../Internal/ApacheModRewrite/FlagType.cs     |   0
 .../src}/Internal/ApacheModRewrite/Flags.cs   |   0
 .../ApacheModRewrite/OperationType.cs         |   0
 .../ParsedModRewriteCondition.cs              |   0
 .../Internal/ApacheModRewrite/RuleBuilder.cs  |   0
 .../ApacheModRewrite/RuleRegexParser.cs       |   0
 .../Internal/ApacheModRewrite/SegmentType.cs  |   0
 .../ApacheModRewrite/ServerVariables.cs       |   0
 .../ApacheModRewrite/TestStringParser.cs      |   0
 .../Internal/ApacheModRewrite/Tokenizer.cs    |   0
 .../src}/Internal/BackReferenceCollection.cs  |   0
 .../Rewrite/src}/Internal/DelegateRule.cs     |   0
 .../src}/Internal/IISUrlRewrite/ActionType.cs |   0
 .../src}/Internal/IISUrlRewrite/Condition.cs  |   0
 .../IISUrlRewrite/ConditionCollection.cs      |   0
 .../IISUrlRewrite/ConditionEvaluator.cs       |   0
 .../Internal/IISUrlRewrite/IISRewriteMap.cs   |   0
 .../IISUrlRewrite/IISRewriteMapCollection.cs  |   0
 .../IISUrlRewrite/IISUrlRewriteRule.cs        |   0
 .../Internal/IISUrlRewrite/InputParser.cs     |   0
 .../InvalidUrlRewriteFormatException.cs       |   0
 .../Internal/IISUrlRewrite/LogicalGrouping.cs |   0
 .../src}/Internal/IISUrlRewrite/MatchType.cs  |   0
 .../Internal/IISUrlRewrite/PatternSyntax.cs   |   0
 .../Internal/IISUrlRewrite/RedirectType.cs    |   0
 .../IISUrlRewrite/RewriteMapParser.cs         |   0
 .../Internal/IISUrlRewrite/RewriteTags.cs     |   0
 .../Internal/IISUrlRewrite/ServerVariables.cs |   0
 .../IISUrlRewrite/UriMatchCondition.cs        |   0
 .../Internal/IISUrlRewrite/UriMatchPart.cs    |   0
 .../IISUrlRewrite/UrlRewriteFileParser.cs     |   0
 .../IISUrlRewrite/UrlRewriteRuleBuilder.cs    |   0
 .../Rewrite/src}/Internal/MatchResults.cs     |   0
 .../Rewrite/src}/Internal/ParserContext.cs    |   0
 .../Rewrite/src}/Internal/Pattern.cs          |   0
 .../Rewrite/src}/Internal/PatternSegment.cs   |   0
 .../PatternSegments/ConditionMatchSegment.cs  |   0
 .../PatternSegments/DateTimeSegment.cs        |   0
 .../Internal/PatternSegments/HeaderSegment.cs |   0
 .../PatternSegments/IsHttpsModSegment.cs      |   0
 .../PatternSegments/IsHttpsUrlSegment.cs      |   0
 .../Internal/PatternSegments/IsIPV6Segment.cs |   0
 .../PatternSegments/LiteralSegment.cs         |   0
 .../PatternSegments/LocalAddressSegment.cs    |   0
 .../PatternSegments/LocalPortSegment.cs       |   0
 .../PatternSegments/QueryStringSegment.cs     |   0
 .../PatternSegments/RemoteAddressSegment.cs   |   0
 .../PatternSegments/RemotePortSegment.cs      |   0
 .../PatternSegments/RequestFilenameSegment.cs |   0
 .../PatternSegments/RequestMethodSegment.cs   |   0
 .../PatternSegments/RewriteMapSegment.cs      |   0
 .../PatternSegments/RuleMatchSegment.cs       |   0
 .../Internal/PatternSegments/SchemeSegment.cs |   0
 .../PatternSegments/ServerProtocolSegment.cs  |   0
 .../PatternSegments/ToLowerSegment.cs         |   0
 .../PatternSegments/UrlEncodeSegment.cs       |   0
 .../Internal/PatternSegments/UrlSegment.cs    |   0
 .../Rewrite/src}/Internal/RedirectRule.cs     |   0
 .../src}/Internal/RedirectToHttpsRule.cs      |   0
 .../src}/Internal/RedirectToWwwRule.cs        |   0
 .../Rewrite/src}/Internal/RewriteRule.cs      |   0
 .../Rewrite/src}/Internal/UrlAction.cs        |   0
 .../src}/Internal/UrlActions/AbortAction.cs   |   0
 .../Internal/UrlActions/ChangeCookieAction.cs |   0
 .../UrlActions/CustomResponseAction.cs        |   0
 .../Internal/UrlActions/ForbiddenAction.cs    |   0
 .../src}/Internal/UrlActions/GoneAction.cs    |   0
 .../src}/Internal/UrlActions/NoneAction.cs    |   0
 .../Internal/UrlActions/RedirectAction.cs     |   0
 .../src}/Internal/UrlActions/RewriteAction.cs |   0
 .../Rewrite/src}/Internal/UrlMatch.cs         |   0
 .../src}/Internal/UrlMatches/ExactMatch.cs    |   0
 .../src}/Internal/UrlMatches/FileSizeMatch.cs |   0
 .../src}/Internal/UrlMatches/IntegerMatch.cs  |   0
 .../Internal/UrlMatches/IntegerOperation.cs   |   0
 .../Internal/UrlMatches/IsDirectoryMatch.cs   |   0
 .../src}/Internal/UrlMatches/IsFileMatch.cs   |   0
 .../src}/Internal/UrlMatches/RegexMatch.cs    |   0
 .../src}/Internal/UrlMatches/StringMatch.cs   |   0
 .../Internal/UrlMatches/StringOperation.cs    |   0
 .../src/Microsoft.AspNetCore.Rewrite.csproj   |  23 ++
 .../Rewrite/src}/Properties/AssemblyInfo.cs   |   0
 .../src}/Properties/Resources.Designer.cs     |   0
 .../Rewrite/src}/Resources.resx               |   0
 .../Rewrite/src}/RewriteBuilderExtensions.cs  |   0
 .../Rewrite/src}/RewriteContext.cs            |   0
 .../Rewrite/src}/RewriteMiddleware.cs         |   0
 .../Rewrite/src}/RewriteOptions.cs            |   0
 .../Rewrite/src}/RewriteOptionsExtensions.cs  |   0
 .../Rewrite/src}/RuleResult.cs                |   0
 .../Rewrite/src}/baseline.netcore.json        |   0
 .../ConditionPatternParserTest.cs             |   0
 .../CookieActionFactoryTest.cs                |   0
 .../test}/ApacheModRewrite/FlagParserTest.cs  |   0
 .../ApacheModRewrite/FormatExceptionTests.cs  |   0
 .../ModRewriteMiddlewareTest.cs               |   0
 .../ApacheModRewrite/RewriteTokenizerTest.cs  |   0
 .../test}/ApacheModRewrite/RuleBuilderTest.cs |   0
 .../ApacheModRewrite/RuleRegexParserTest.cs   |   0
 .../ApacheModRewrite/TestStringParserTests.cs |   0
 .../test}/IISUrlRewrite/FileParserTests.cs    |   0
 .../FormatExceptionHandlingTests.cs           |   0
 .../test}/IISUrlRewrite/InputParserTests.cs   |   0
 ...dUrlRewriteFormatExceptionHandlingTests.cs |   0
 .../test}/IISUrlRewrite/MiddleWareTests.cs    |   0
 .../IISUrlRewrite/RewriteMapParserTests.cs    |   0
 .../IISUrlRewrite/ServerVariableTests.cs      |   0
 .../UrlRewriteApplicationTests.cs             |   0
 .../Microsoft.AspNetCore.Rewrite.Tests.csproj |   2 +-
 .../Rewrite/test}/MiddlewareTests.cs          |   0
 .../ConditionMatchSegmentTests.cs             |   0
 .../PatternSegments/DateTimeSegmentTests.cs   |   0
 .../PatternSegments/HeaderSegmentTests.cs     |   0
 .../PatternSegments/IsHttpsModSegmentTests.cs |   0
 .../PatternSegments/IsHttpsSegmentTests.cs    |   0
 .../PatternSegments/IsIPV6SegmentTests.cs     |   0
 .../PatternSegments/LIteralSegmentTests.cs    |   0
 .../LocalAddressSegmentTests.cs               |   0
 .../PatternSegments/LocalPortSegmentTests.cs  |   0
 .../QueryStringSegmentTests.cs                |   0
 .../RemoteAddressSegmentTests.cs              |   0
 .../PatternSegments/RemotePortSegmentTests.cs |   0
 .../RequestFilenameSegmentTests.cs            |   0
 .../RequestMethodSegmentTests.cs              |   0
 .../PatternSegments/RuleMatchSegmentTests.cs  |   0
 .../PatternSegments/SchemeSegmentTests.cs     |   0
 .../ServerProtocolSegmentTests.cs             |   0
 .../PatternSegments/ToLowerSegmentTests.cs    |   0
 .../PatternSegments/UrlEncodeSegmentTests.cs  |   0
 .../test}/PatternSegments/UrlSegmentTests.cs  |   0
 .../test}/UrlActions/AbortActionTests.cs      |   0
 .../UrlActions/ChangeCookieActionTests.cs     |   0
 .../test}/UrlActions/ForbiddenActionTests.cs  |   0
 .../test}/UrlActions/GoneActionTests.cs       |   0
 .../test}/UrlMatches/ExactMatchTests.cs       |   0
 .../test}/UrlMatches/IntegerMatchTests.cs     |   0
 .../test}/UrlMatches/StringMatchTests.cs      |   0
 test/Directory.Build.props                    |  19 --
 .../ResponseBufferingMiddlewareTests.cs       | 315 ------------------
 ...soft.AspNetCore.HostFiltering.Tests.csproj |  12 -
 ...soft.AspNetCore.HttpOverrides.Tests.csproj |  15 -
 ...spNetCore.ResponseCompression.Tests.csproj |  21 --
 version.props                                 |  18 -
 284 files changed, 183 insertions(+), 1954 deletions(-)
 delete mode 100644 .appveyor.yml
 delete mode 100644 .gitattributes
 delete mode 100644 .gitignore
 delete mode 100644 .travis.yml
 delete mode 100644 BasicMiddleware.sln
 delete mode 100644 CONTRIBUTING.md
 delete mode 100644 Directory.Build.props
 delete mode 100644 Directory.Build.targets
 delete mode 100644 LICENSE.txt
 delete mode 100644 NuGet.config
 delete mode 100644 NuGetPackageVerifier.json
 delete mode 100644 README.md
 delete mode 100644 build.cmd
 delete mode 100755 build.sh
 delete mode 100644 build/Key.snk
 delete mode 100644 build/dependencies.props
 delete mode 100644 build/repo.props
 delete mode 100644 build/sources.props
 delete mode 100644 korebuild-lock.txt
 delete mode 100644 korebuild.json
 delete mode 100644 run.cmd
 delete mode 100644 run.ps1
 delete mode 100755 run.sh
 delete mode 100644 samples/HostFilteringSample/HostFilteringSample.csproj
 delete mode 100644 samples/HttpOverridesSample/HttpOverridesSample.csproj
 delete mode 100644 samples/HttpsPolicySample/HttpsPolicySample.csproj
 delete mode 100644 samples/ResponseBufferingSample/Properties/launchSettings.json
 delete mode 100644 samples/ResponseBufferingSample/ResponseBufferingSample.csproj
 delete mode 100644 samples/ResponseBufferingSample/Startup.cs
 delete mode 100644 samples/ResponseCompressionSample/ResponseCompressionSample.csproj
 delete mode 100644 samples/RewriteSample/RewriteSample.csproj
 delete mode 100644 src/Directory.Build.props
 delete mode 100644 src/Microsoft.AspNetCore.Buffering/BufferingWriteStream.cs
 delete mode 100644 src/Microsoft.AspNetCore.Buffering/HttpBufferingFeature.cs
 delete mode 100644 src/Microsoft.AspNetCore.Buffering/Microsoft.AspNetCore.Buffering.csproj
 delete mode 100644 src/Microsoft.AspNetCore.Buffering/ResponseBufferingMiddleware.cs
 delete mode 100644 src/Microsoft.AspNetCore.Buffering/ResponseBufferingMiddlewareExtensions.cs
 delete mode 100644 src/Microsoft.AspNetCore.Buffering/SendFileFeatureWrapper.cs
 delete mode 100644 src/Microsoft.AspNetCore.HostFiltering/Microsoft.AspNetCore.HostFiltering.csproj
 delete mode 100644 src/Microsoft.AspNetCore.HttpsPolicy/Microsoft.AspNetCore.HttpsPolicy.csproj
 delete mode 100644 src/Microsoft.AspNetCore.Rewrite/Microsoft.AspNetCore.Rewrite.csproj
 create mode 100644 src/Middleware/HostFiltering/sample/HostFilteringSample.csproj
 rename {samples/HostFilteringSample => src/Middleware/HostFiltering/sample}/Program.cs (100%)
 rename {samples/HostFilteringSample => src/Middleware/HostFiltering/sample}/Properties/launchSettings.json (100%)
 rename {samples/HostFilteringSample => src/Middleware/HostFiltering/sample}/Startup.cs (100%)
 rename {samples/HostFilteringSample => src/Middleware/HostFiltering/sample}/appsettings.Development.json (100%)
 rename {samples/HostFilteringSample => src/Middleware/HostFiltering/sample}/appsettings.Production.json (100%)
 rename {samples/HostFilteringSample => src/Middleware/HostFiltering/sample}/appsettings.json (100%)
 rename src/{Microsoft.AspNetCore.HostFiltering => Middleware/HostFiltering/src}/HostFilteringBuilderExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.HostFiltering => Middleware/HostFiltering/src}/HostFilteringMiddleware.cs (100%)
 rename src/{Microsoft.AspNetCore.HostFiltering => Middleware/HostFiltering/src}/HostFilteringOptions.cs (100%)
 rename src/{Microsoft.AspNetCore.HostFiltering => Middleware/HostFiltering/src}/HostFilteringServicesExtensions.cs (100%)
 create mode 100644 src/Middleware/HostFiltering/src/Microsoft.AspNetCore.HostFiltering.csproj
 rename src/{Microsoft.AspNetCore.HostFiltering => Middleware/HostFiltering/src}/baseline.netcore.json (100%)
 rename {test/Microsoft.AspNetCore.HostFiltering.Tests => src/Middleware/HostFiltering/test}/HostFilteringMiddlewareTests.cs (100%)
 create mode 100644 src/Middleware/HostFiltering/test/Microsoft.AspNetCore.HostFiltering.Tests.csproj
 create mode 100644 src/Middleware/HttpOverrides/sample/HttpOverridesSample.csproj
 rename {samples/HttpOverridesSample => src/Middleware/HttpOverrides/sample}/Properties/launchSettings.json (100%)
 rename {samples/HttpOverridesSample => src/Middleware/HttpOverrides/sample}/Startup.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/ForwardedHeaders.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/ForwardedHeadersDefaults.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/ForwardedHeadersExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/ForwardedHeadersMiddleware.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/ForwardedHeadersOptions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/HttpMethodOverrideExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/HttpMethodOverrideMiddleware.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/HttpMethodOverrideOptions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/IPNetwork.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/Internal/IPEndPointParser.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/Microsoft.AspNetCore.HttpOverrides.csproj (57%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/baseline.net45.json (100%)
 rename src/{Microsoft.AspNetCore.HttpOverrides => Middleware/HttpOverrides/src}/baseline.netcore.json (100%)
 rename {test/Microsoft.AspNetCore.HttpOverrides.Tests => src/Middleware/HttpOverrides/test}/ForwardedHeadersMiddlewareTest.cs (100%)
 rename {test/Microsoft.AspNetCore.HttpOverrides.Tests => src/Middleware/HttpOverrides/test}/HttpMethodOverrideMiddlewareTest.cs (100%)
 rename {test/Microsoft.AspNetCore.HttpOverrides.Tests => src/Middleware/HttpOverrides/test}/IPEndPointParserTest.cs (100%)
 rename {test/Microsoft.AspNetCore.HttpOverrides.Tests => src/Middleware/HttpOverrides/test}/IPNetworkTest.cs (100%)
 rename test/Microsoft.AspNetCore.Buffering.Tests/Microsoft.AspNetCore.Buffering.Tests.csproj => src/Middleware/HttpOverrides/test/Microsoft.AspNetCore.HttpOverrides.Tests.csproj (58%)
 create mode 100644 src/Middleware/HttpsPolicy/sample/HttpsPolicySample.csproj
 rename {samples/HttpsPolicySample => src/Middleware/HttpsPolicy/sample}/Properties/launchSettings.json (100%)
 rename {samples/HttpsPolicySample => src/Middleware/HttpsPolicy/sample}/Startup.cs (100%)
 rename {samples/HttpsPolicySample => src/Middleware/HttpsPolicy/sample}/testCert.pfx (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/HstsBuilderExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/HstsMiddleware.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/HstsOptions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/HstsServicesExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/HttpsRedirectionBuilderExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/HttpsRedirectionMiddleware.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/HttpsRedirectionOptions.cs (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/HttpsRedirectionServicesExtensions.cs (100%)
 create mode 100644 src/Middleware/HttpsPolicy/src/Microsoft.AspNetCore.HttpsPolicy.csproj
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/baseline.netcore.json (100%)
 rename src/{Microsoft.AspNetCore.HttpsPolicy => Middleware/HttpsPolicy/src}/internal/HttpsLoggingExtensions.cs (100%)
 rename {test/Microsoft.AspNetCore.HttpsPolicy.Tests => src/Middleware/HttpsPolicy/test}/HstsMiddlewareTests.cs (100%)
 rename {test/Microsoft.AspNetCore.HttpsPolicy.Tests => src/Middleware/HttpsPolicy/test}/HttpsPolicyTests.cs (100%)
 rename {test/Microsoft.AspNetCore.HttpsPolicy.Tests => src/Middleware/HttpsPolicy/test}/HttpsRedirectionMiddlewareTests.cs (100%)
 rename {test/Microsoft.AspNetCore.HttpsPolicy.Tests => src/Middleware/HttpsPolicy/test}/Microsoft.AspNetCore.HttpsPolicy.Tests.csproj (50%)
 rename {samples/ResponseCompressionSample => src/Middleware/ResponseCompression/sample}/CustomCompressionProvider.cs (100%)
 rename {samples/ResponseCompressionSample => src/Middleware/ResponseCompression/sample}/LoremIpsum.cs (100%)
 rename {samples/ResponseCompressionSample => src/Middleware/ResponseCompression/sample}/Properties/launchSettings.json (100%)
 create mode 100644 src/Middleware/ResponseCompression/sample/ResponseCompressionSample.csproj
 rename {samples/ResponseCompressionSample => src/Middleware/ResponseCompression/sample}/Startup.cs (100%)
 rename {samples/ResponseCompressionSample => src/Middleware/ResponseCompression/sample}/testfile1kb.txt (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/BodyWrapperStream.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/CompressionProviderCollection.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/CompressionProviderFactory.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/GzipCompressionProvider.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/GzipCompressionProviderOptions.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/ICompressionProvider.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/IResponseCompressionProvider.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/Microsoft.AspNetCore.ResponseCompression.csproj (59%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/Properties/AssemblyInfo.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/ResponseCompressionBuilderExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/ResponseCompressionDefaults.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/ResponseCompressionMiddleware.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/ResponseCompressionOptions.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/ResponseCompressionProvider.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/ResponseCompressionServicesExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/baseline.netcore.json (100%)
 rename src/{Microsoft.AspNetCore.ResponseCompression => Middleware/ResponseCompression/src}/baseline.netframework.json (100%)
 rename {test/Microsoft.AspNetCore.ResponseCompression.Tests => src/Middleware/ResponseCompression/test}/BodyWrapperStreamTests.cs (100%)
 create mode 100644 src/Middleware/ResponseCompression/test/Microsoft.AspNetCore.ResponseCompression.Tests.csproj
 rename {test/Microsoft.AspNetCore.ResponseCompression.Tests => src/Middleware/ResponseCompression/test}/ResponseCompressionMiddlewareTest.cs (100%)
 rename {test/Microsoft.AspNetCore.ResponseCompression.Tests => src/Middleware/ResponseCompression/test}/testfile1kb.txt (100%)
 rename {samples/RewriteSample => src/Middleware/Rewrite/sample}/Properties/launchSettings.json (100%)
 rename {samples/RewriteSample => src/Middleware/Rewrite/sample}/Rewrite.txt (100%)
 create mode 100644 src/Middleware/Rewrite/sample/RewriteSample.csproj
 rename {samples/RewriteSample => src/Middleware/Rewrite/sample}/Startup.cs (100%)
 rename {samples/RewriteSample => src/Middleware/Rewrite/sample}/UrlRewrite.xml (100%)
 rename {samples/RewriteSample => src/Middleware/Rewrite/sample}/testCert.pfx (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/ApacheModRewriteOptionsExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Extensions/RewriteMiddlewareLoggingExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/IISUrlRewriteOptionsExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/IRule.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/ApacheModRewriteRule.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/Condition.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/ConditionEvaluator.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/ConditionPatternParser.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/ConditionType.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/CookieActionFactory.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/FileParser.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/FlagParser.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/FlagType.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/Flags.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/OperationType.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/ParsedModRewriteCondition.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/RuleBuilder.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/RuleRegexParser.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/SegmentType.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/ServerVariables.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/TestStringParser.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ApacheModRewrite/Tokenizer.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/BackReferenceCollection.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/DelegateRule.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/ActionType.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/Condition.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/ConditionCollection.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/ConditionEvaluator.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/IISRewriteMap.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/IISRewriteMapCollection.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/IISUrlRewriteRule.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/InputParser.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/InvalidUrlRewriteFormatException.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/LogicalGrouping.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/MatchType.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/PatternSyntax.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/RedirectType.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/RewriteMapParser.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/RewriteTags.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/ServerVariables.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/UriMatchCondition.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/UriMatchPart.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/UrlRewriteFileParser.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/MatchResults.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/ParserContext.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/Pattern.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/ConditionMatchSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/DateTimeSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/HeaderSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/IsHttpsModSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/IsHttpsUrlSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/IsIPV6Segment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/LiteralSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/LocalAddressSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/LocalPortSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/QueryStringSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/RemoteAddressSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/RemotePortSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/RequestFilenameSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/RequestMethodSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/RewriteMapSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/RuleMatchSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/SchemeSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/ServerProtocolSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/ToLowerSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/UrlEncodeSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/PatternSegments/UrlSegment.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/RedirectRule.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/RedirectToHttpsRule.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/RedirectToWwwRule.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/RewriteRule.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlActions/AbortAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlActions/ChangeCookieAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlActions/CustomResponseAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlActions/ForbiddenAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlActions/GoneAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlActions/NoneAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlActions/RedirectAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlActions/RewriteAction.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatch.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/ExactMatch.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/FileSizeMatch.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/IntegerMatch.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/IntegerOperation.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/IsDirectoryMatch.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/IsFileMatch.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/RegexMatch.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/StringMatch.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Internal/UrlMatches/StringOperation.cs (100%)
 create mode 100644 src/Middleware/Rewrite/src/Microsoft.AspNetCore.Rewrite.csproj
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Properties/AssemblyInfo.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Properties/Resources.Designer.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/Resources.resx (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/RewriteBuilderExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/RewriteContext.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/RewriteMiddleware.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/RewriteOptions.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/RewriteOptionsExtensions.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/RuleResult.cs (100%)
 rename src/{Microsoft.AspNetCore.Rewrite => Middleware/Rewrite/src}/baseline.netcore.json (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/ConditionPatternParserTest.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/CookieActionFactoryTest.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/FlagParserTest.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/FormatExceptionTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/ModRewriteMiddlewareTest.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/RewriteTokenizerTest.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/RuleBuilderTest.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/RuleRegexParserTest.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/ApacheModRewrite/TestStringParserTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/IISUrlRewrite/FileParserTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/IISUrlRewrite/FormatExceptionHandlingTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/IISUrlRewrite/InputParserTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/IISUrlRewrite/InvalidUrlRewriteFormatExceptionHandlingTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/IISUrlRewrite/MiddleWareTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/IISUrlRewrite/RewriteMapParserTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/IISUrlRewrite/ServerVariableTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/IISUrlRewrite/UrlRewriteApplicationTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/Microsoft.AspNetCore.Rewrite.Tests.csproj (61%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/MiddlewareTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/ConditionMatchSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/DateTimeSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/HeaderSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/IsHttpsModSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/IsHttpsSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/IsIPV6SegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/LIteralSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/LocalAddressSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/LocalPortSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/QueryStringSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/RemoteAddressSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/RemotePortSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/RequestFilenameSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/RequestMethodSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/RuleMatchSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/SchemeSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/ServerProtocolSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/ToLowerSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/UrlEncodeSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/PatternSegments/UrlSegmentTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/UrlActions/AbortActionTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/UrlActions/ChangeCookieActionTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/UrlActions/ForbiddenActionTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/UrlActions/GoneActionTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/UrlMatches/ExactMatchTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/UrlMatches/IntegerMatchTests.cs (100%)
 rename {test/Microsoft.AspNetCore.Rewrite.Tests => src/Middleware/Rewrite/test}/UrlMatches/StringMatchTests.cs (100%)
 delete mode 100644 test/Directory.Build.props
 delete mode 100644 test/Microsoft.AspNetCore.Buffering.Tests/ResponseBufferingMiddlewareTests.cs
 delete mode 100644 test/Microsoft.AspNetCore.HostFiltering.Tests/Microsoft.AspNetCore.HostFiltering.Tests.csproj
 delete mode 100644 test/Microsoft.AspNetCore.HttpOverrides.Tests/Microsoft.AspNetCore.HttpOverrides.Tests.csproj
 delete mode 100644 test/Microsoft.AspNetCore.ResponseCompression.Tests/Microsoft.AspNetCore.ResponseCompression.Tests.csproj
 delete mode 100644 version.props

diff --git a/.appveyor.yml b/.appveyor.yml
deleted file mode 100644
index 4eea96ab69c..00000000000
--- a/.appveyor.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-init:
-- git config --global core.autocrlf true
-branches:
-  only:
-  - dev
-  - /^release\/.*$/
-  - /^(.*\/)?ci-.*$/
-build_script:
-- ps: .\run.ps1 default-build
-clone_depth: 1
-environment:
-  global:
-    DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
-    DOTNET_CLI_TELEMETRY_OPTOUT: 1
-test: 'off'
-deploy: 'off'
-os: Visual Studio 2017
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 66abdf279e0..00000000000
--- a/.gitattributes
+++ /dev/null
@@ -1,51 +0,0 @@
-*.doc  diff=astextplain
-*.DOC	diff=astextplain
-*.docx	diff=astextplain
-*.DOCX	diff=astextplain
-*.dot	diff=astextplain
-*.DOT	diff=astextplain
-*.pdf	diff=astextplain
-*.PDF	diff=astextplain
-*.rtf	diff=astextplain
-*.RTF	diff=astextplain
-
-*.jpg  	binary
-*.png 	binary
-*.gif 	binary
-
-*.cs text=auto diff=csharp 
-*.vb text=auto
-*.resx text=auto
-*.c text=auto
-*.cpp text=auto
-*.cxx text=auto
-*.h text=auto
-*.hxx text=auto
-*.py text=auto
-*.rb text=auto
-*.java text=auto
-*.html text=auto
-*.htm text=auto
-*.css text=auto
-*.scss text=auto
-*.sass text=auto
-*.less text=auto
-*.js text=auto
-*.lisp text=auto
-*.clj text=auto
-*.sql text=auto
-*.php text=auto
-*.lua text=auto
-*.m text=auto
-*.asm text=auto
-*.erl text=auto
-*.fs text=auto
-*.fsx text=auto
-*.hs text=auto
-
-*.csproj text=auto
-*.vbproj text=auto
-*.fsproj text=auto
-*.dbproj text=auto
-*.sln text=auto eol=crlf
-*.sh eol=lf
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index c8dd6c52d58..00000000000
--- a/.gitignore
+++ /dev/null
@@ -1,35 +0,0 @@
-[Oo]bj/
-[Bb]in/
-TestResults/
-.nuget/
-*.sln.ide/
-_ReSharper.*/
-packages/
-artifacts/
-PublishProfiles/
-*.user
-*.suo
-*.cache
-*.docstates
-_ReSharper.*
-nuget.exe
-project.lock.json
-*net45.csproj
-*net451.csproj
-*k10.csproj
-*.psess
-*.vsp
-*.pidb
-*.userprefs
-*DS_Store
-*.ncrunchsolution
-*.*sdf
-*.ipch
-.vs/
-.build/
-.testPublish/
-.idea/
-.vscode/
-*.nuget.props
-*.nuget.targets
-global.json
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 64bdbb4441c..00000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-language: csharp
-sudo: false
-dist: trusty
-env:
-  global:
-  - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
-  - DOTNET_CLI_TELEMETRY_OPTOUT: 1
-mono: none
-os:
-- linux
-- osx
-osx_image: xcode8.2
-addons:
-  apt:
-    packages:
-    - libunwind8
-branches:
-  only:
-  - dev
-  - /^release\/.*$/
-  - /^(.*\/)?ci-.*$/
-before_install:
-- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s
-  /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
-  /usr/local/lib/; fi
-script:
-- ./build.sh
diff --git a/BasicMiddleware.sln b/BasicMiddleware.sln
deleted file mode 100644
index 8810201f5ae..00000000000
--- a/BasicMiddleware.sln
+++ /dev/null
@@ -1,185 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27130.2027
-MinimumVisualStudioVersion = 15.0.26730.03
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HttpOverrides", "src\Microsoft.AspNetCore.HttpOverrides\Microsoft.AspNetCore.HttpOverrides.csproj", "{517308C3-B477-4B01-B461-CAB9C10B6928}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{A5076D28-FA7E-4606-9410-FEDD0D603527}"
-	ProjectSection(SolutionItems) = preProject
-		src\Directory.Build.props = src\Directory.Build.props
-	EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{8437B0F3-3894-4828-A945-A9187F37631D}"
-	ProjectSection(SolutionItems) = preProject
-		test\Directory.Build.props = test\Directory.Build.props
-	EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HttpOverrides.Tests", "test\Microsoft.AspNetCore.HttpOverrides.Tests\Microsoft.AspNetCore.HttpOverrides.Tests.csproj", "{D6341B92-3416-4F11-8DF4-CB274296175F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Buffering", "src\Microsoft.AspNetCore.Buffering\Microsoft.AspNetCore.Buffering.csproj", "{2363D0DD-A3BF-437E-9B64-B33AE132D875}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Buffering.Tests", "test\Microsoft.AspNetCore.Buffering.Tests\Microsoft.AspNetCore.Buffering.Tests.csproj", "{F5F1D123-9C81-4A9E-8644-AA46B8E578FB}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{9587FE9F-5A17-42C4-8021-E87F59CECB98}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ResponseBufferingSample", "samples\ResponseBufferingSample\ResponseBufferingSample.csproj", "{E5C55B80-7827-40EB-B661-32B0E0E431CA}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HttpOverridesSample", "samples\HttpOverridesSample\HttpOverridesSample.csproj", "{7F95478D-E1D4-4A64-BA42-B041591A96EB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Rewrite", "src\Microsoft.AspNetCore.Rewrite\Microsoft.AspNetCore.Rewrite.csproj", "{0E7CA1A7-1DC3-4CE6-B9C7-1688FE1410F1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RewriteSample", "samples\RewriteSample\RewriteSample.csproj", "{9E049645-13BC-4598-89E1-5B43D36E5D14}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Rewrite.Tests", "test\Microsoft.AspNetCore.Rewrite.Tests\Microsoft.AspNetCore.Rewrite.Tests.csproj", "{31794F9E-A1AA-4535-B03C-A3233737CD1A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCompression", "src\Microsoft.AspNetCore.ResponseCompression\Microsoft.AspNetCore.ResponseCompression.csproj", "{45308A9D-F4C6-46A8-A24F-E73D995CC223}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCompression.Tests", "test\Microsoft.AspNetCore.ResponseCompression.Tests\Microsoft.AspNetCore.ResponseCompression.Tests.csproj", "{3360A5D1-70C0-49EE-9051-04A6A6B836DC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ResponseCompressionSample", "samples\ResponseCompressionSample\ResponseCompressionSample.csproj", "{B2A3CE38-51B2-4486-982C-98C380AF140E}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{59A9B64C-E9BE-409E-89A2-58D72E2918F5}"
-	ProjectSection(SolutionItems) = preProject
-		.appveyor.yml = .appveyor.yml
-		.gitattributes = .gitattributes
-		.gitignore = .gitignore
-		.travis.yml = .travis.yml
-		build.cmd = build.cmd
-		build.ps1 = build.ps1
-		build.sh = build.sh
-		CONTRIBUTING.md = CONTRIBUTING.md
-		Directory.Build.props = Directory.Build.props
-		Directory.Build.targets = Directory.Build.targets
-		LICENSE.txt = LICENSE.txt
-		NuGet.config = NuGet.config
-		NuGetPackageVerifier.json = NuGetPackageVerifier.json
-		README.md = README.md
-		version.xml = version.xml
-	EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HttpsPolicy", "src\Microsoft.AspNetCore.HttpsPolicy\Microsoft.AspNetCore.HttpsPolicy.csproj", "{4D39C29B-4EC8-497C-B411-922DA494D71B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HttpsPolicySample", "samples\HttpsPolicySample\HttpsPolicySample.csproj", "{AC424AEE-4883-49C6-945F-2FC916B8CA1C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HttpsPolicy.Tests", "test\Microsoft.AspNetCore.HttpsPolicy.Tests\Microsoft.AspNetCore.HttpsPolicy.Tests.csproj", "{1C67B0F1-6E70-449E-A2F1-98B9D5C576CE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostFilteringSample", "samples\HostFilteringSample\HostFilteringSample.csproj", "{368B00A2-992A-4B0E-9085-A8136A22922D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{5CEA6F31-A829-4A02-8CD5-EC3DDD4CC1EA}"
-	ProjectSection(SolutionItems) = preProject
-		build\dependencies.props = build\dependencies.props
-		build\repo.props = build\repo.props
-		build\sources.props = build\sources.props
-	EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HostFiltering.Tests", "test\Microsoft.AspNetCore.HostFiltering.Tests\Microsoft.AspNetCore.HostFiltering.Tests.csproj", "{4BC947ED-13B8-4BE6-82A4-96A48D86980B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HostFiltering", "src\Microsoft.AspNetCore.HostFiltering\Microsoft.AspNetCore.HostFiltering.csproj", "{762F7276-C916-4111-A6C0-41668ABB3823}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{517308C3-B477-4B01-B461-CAB9C10B6928}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{517308C3-B477-4B01-B461-CAB9C10B6928}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{517308C3-B477-4B01-B461-CAB9C10B6928}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{517308C3-B477-4B01-B461-CAB9C10B6928}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D6341B92-3416-4F11-8DF4-CB274296175F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D6341B92-3416-4F11-8DF4-CB274296175F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D6341B92-3416-4F11-8DF4-CB274296175F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D6341B92-3416-4F11-8DF4-CB274296175F}.Release|Any CPU.Build.0 = Release|Any CPU
-		{2363D0DD-A3BF-437E-9B64-B33AE132D875}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2363D0DD-A3BF-437E-9B64-B33AE132D875}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2363D0DD-A3BF-437E-9B64-B33AE132D875}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{2363D0DD-A3BF-437E-9B64-B33AE132D875}.Release|Any CPU.Build.0 = Release|Any CPU
-		{F5F1D123-9C81-4A9E-8644-AA46B8E578FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{F5F1D123-9C81-4A9E-8644-AA46B8E578FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{F5F1D123-9C81-4A9E-8644-AA46B8E578FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{F5F1D123-9C81-4A9E-8644-AA46B8E578FB}.Release|Any CPU.Build.0 = Release|Any CPU
-		{E5C55B80-7827-40EB-B661-32B0E0E431CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E5C55B80-7827-40EB-B661-32B0E0E431CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{E5C55B80-7827-40EB-B661-32B0E0E431CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E5C55B80-7827-40EB-B661-32B0E0E431CA}.Release|Any CPU.Build.0 = Release|Any CPU
-		{7F95478D-E1D4-4A64-BA42-B041591A96EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{7F95478D-E1D4-4A64-BA42-B041591A96EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{7F95478D-E1D4-4A64-BA42-B041591A96EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{7F95478D-E1D4-4A64-BA42-B041591A96EB}.Release|Any CPU.Build.0 = Release|Any CPU
-		{0E7CA1A7-1DC3-4CE6-B9C7-1688FE1410F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{0E7CA1A7-1DC3-4CE6-B9C7-1688FE1410F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{0E7CA1A7-1DC3-4CE6-B9C7-1688FE1410F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{0E7CA1A7-1DC3-4CE6-B9C7-1688FE1410F1}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9E049645-13BC-4598-89E1-5B43D36E5D14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9E049645-13BC-4598-89E1-5B43D36E5D14}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9E049645-13BC-4598-89E1-5B43D36E5D14}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9E049645-13BC-4598-89E1-5B43D36E5D14}.Release|Any CPU.Build.0 = Release|Any CPU
-		{31794F9E-A1AA-4535-B03C-A3233737CD1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31794F9E-A1AA-4535-B03C-A3233737CD1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{31794F9E-A1AA-4535-B03C-A3233737CD1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{31794F9E-A1AA-4535-B03C-A3233737CD1A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{45308A9D-F4C6-46A8-A24F-E73D995CC223}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{45308A9D-F4C6-46A8-A24F-E73D995CC223}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{45308A9D-F4C6-46A8-A24F-E73D995CC223}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{45308A9D-F4C6-46A8-A24F-E73D995CC223}.Release|Any CPU.Build.0 = Release|Any CPU
-		{3360A5D1-70C0-49EE-9051-04A6A6B836DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{3360A5D1-70C0-49EE-9051-04A6A6B836DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{3360A5D1-70C0-49EE-9051-04A6A6B836DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{3360A5D1-70C0-49EE-9051-04A6A6B836DC}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B2A3CE38-51B2-4486-982C-98C380AF140E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B2A3CE38-51B2-4486-982C-98C380AF140E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B2A3CE38-51B2-4486-982C-98C380AF140E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B2A3CE38-51B2-4486-982C-98C380AF140E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{4D39C29B-4EC8-497C-B411-922DA494D71B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{4D39C29B-4EC8-497C-B411-922DA494D71B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{4D39C29B-4EC8-497C-B411-922DA494D71B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{4D39C29B-4EC8-497C-B411-922DA494D71B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{AC424AEE-4883-49C6-945F-2FC916B8CA1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{AC424AEE-4883-49C6-945F-2FC916B8CA1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{AC424AEE-4883-49C6-945F-2FC916B8CA1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{AC424AEE-4883-49C6-945F-2FC916B8CA1C}.Release|Any CPU.Build.0 = Release|Any CPU
-		{1C67B0F1-6E70-449E-A2F1-98B9D5C576CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C67B0F1-6E70-449E-A2F1-98B9D5C576CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{1C67B0F1-6E70-449E-A2F1-98B9D5C576CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{1C67B0F1-6E70-449E-A2F1-98B9D5C576CE}.Release|Any CPU.Build.0 = Release|Any CPU
-		{368B00A2-992A-4B0E-9085-A8136A22922D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{368B00A2-992A-4B0E-9085-A8136A22922D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{368B00A2-992A-4B0E-9085-A8136A22922D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{368B00A2-992A-4B0E-9085-A8136A22922D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{4BC947ED-13B8-4BE6-82A4-96A48D86980B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{4BC947ED-13B8-4BE6-82A4-96A48D86980B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{4BC947ED-13B8-4BE6-82A4-96A48D86980B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{4BC947ED-13B8-4BE6-82A4-96A48D86980B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{762F7276-C916-4111-A6C0-41668ABB3823}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{762F7276-C916-4111-A6C0-41668ABB3823}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{762F7276-C916-4111-A6C0-41668ABB3823}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{762F7276-C916-4111-A6C0-41668ABB3823}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(NestedProjects) = preSolution
-		{517308C3-B477-4B01-B461-CAB9C10B6928} = {A5076D28-FA7E-4606-9410-FEDD0D603527}
-		{D6341B92-3416-4F11-8DF4-CB274296175F} = {8437B0F3-3894-4828-A945-A9187F37631D}
-		{2363D0DD-A3BF-437E-9B64-B33AE132D875} = {A5076D28-FA7E-4606-9410-FEDD0D603527}
-		{F5F1D123-9C81-4A9E-8644-AA46B8E578FB} = {8437B0F3-3894-4828-A945-A9187F37631D}
-		{E5C55B80-7827-40EB-B661-32B0E0E431CA} = {9587FE9F-5A17-42C4-8021-E87F59CECB98}
-		{7F95478D-E1D4-4A64-BA42-B041591A96EB} = {9587FE9F-5A17-42C4-8021-E87F59CECB98}
-		{0E7CA1A7-1DC3-4CE6-B9C7-1688FE1410F1} = {A5076D28-FA7E-4606-9410-FEDD0D603527}
-		{9E049645-13BC-4598-89E1-5B43D36E5D14} = {9587FE9F-5A17-42C4-8021-E87F59CECB98}
-		{31794F9E-A1AA-4535-B03C-A3233737CD1A} = {8437B0F3-3894-4828-A945-A9187F37631D}
-		{45308A9D-F4C6-46A8-A24F-E73D995CC223} = {A5076D28-FA7E-4606-9410-FEDD0D603527}
-		{3360A5D1-70C0-49EE-9051-04A6A6B836DC} = {8437B0F3-3894-4828-A945-A9187F37631D}
-		{B2A3CE38-51B2-4486-982C-98C380AF140E} = {9587FE9F-5A17-42C4-8021-E87F59CECB98}
-		{4D39C29B-4EC8-497C-B411-922DA494D71B} = {A5076D28-FA7E-4606-9410-FEDD0D603527}
-		{AC424AEE-4883-49C6-945F-2FC916B8CA1C} = {9587FE9F-5A17-42C4-8021-E87F59CECB98}
-		{1C67B0F1-6E70-449E-A2F1-98B9D5C576CE} = {8437B0F3-3894-4828-A945-A9187F37631D}
-		{368B00A2-992A-4B0E-9085-A8136A22922D} = {9587FE9F-5A17-42C4-8021-E87F59CECB98}
-		{5CEA6F31-A829-4A02-8CD5-EC3DDD4CC1EA} = {59A9B64C-E9BE-409E-89A2-58D72E2918F5}
-		{4BC947ED-13B8-4BE6-82A4-96A48D86980B} = {8437B0F3-3894-4828-A945-A9187F37631D}
-		{762F7276-C916-4111-A6C0-41668ABB3823} = {A5076D28-FA7E-4606-9410-FEDD0D603527}
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {4518E9CE-3680-4E05-9259-B64EA7807158}
-	EndGlobalSection
-EndGlobal
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 64ff041d5ca..00000000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Contributing
-======
-
-Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/dev/CONTRIBUTING.md) in the Home repo.
diff --git a/Directory.Build.props b/Directory.Build.props
deleted file mode 100644
index 0600ee6c341..00000000000
--- a/Directory.Build.props
+++ /dev/null
@@ -1,21 +0,0 @@
-<Project>
-  <Import
-    Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))\AspNetCoreSettings.props"
-    Condition=" '$(CI)' != 'true' AND '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))' != '' " />
-
-  <Import Project="version.props" />
-  <Import Project="build\dependencies.props" />
-  <Import Project="build\sources.props" />
-
-  <PropertyGroup>
-    <Product>Microsoft ASP.NET Core</Product>
-    <RepositoryUrl>https://github.com/aspnet/BasicMiddleware</RepositoryUrl>
-    <RepositoryType>git</RepositoryType>
-    <RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
-    <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)build\Key.snk</AssemblyOriginatorKeyFile>
-    <SignAssembly>true</SignAssembly>
-    <PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-  </PropertyGroup>
-
-</Project>
diff --git a/Directory.Build.targets b/Directory.Build.targets
deleted file mode 100644
index 53b3f6e1dab..00000000000
--- a/Directory.Build.targets
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">$(MicrosoftNETCoreApp20PackageVersion)</RuntimeFrameworkVersion>
-    <RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">$(MicrosoftNETCoreApp21PackageVersion)</RuntimeFrameworkVersion>
-    <NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
-  </PropertyGroup>
-</Project>
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 7b2956eceee..00000000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Copyright (c) .NET Foundation and Contributors
-
-All rights reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
diff --git a/NuGet.config b/NuGet.config
deleted file mode 100644
index e32bddfd514..00000000000
--- a/NuGet.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <packageSources>
-    <clear />
-    <!-- Restore sources should be defined in build/sources.props. -->
-  </packageSources>
-</configuration>
diff --git a/NuGetPackageVerifier.json b/NuGetPackageVerifier.json
deleted file mode 100644
index b153ab15150..00000000000
--- a/NuGetPackageVerifier.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-    "Default": {
-        "rules": [
-            "DefaultCompositeRule"
-        ]
-    }
-}
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 1ce333f1b48..00000000000
--- a/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-ASP.NET Core Basic Middleware Components
-========
-
-AppVeyor: [![AppVeyor](https://ci.appveyor.com/api/projects/status/02a73gv9gq02jw0j/branch/dev?svg=true)](https://ci.appveyor.com/project/aspnetci/basicmiddleware/branch/dev)
-
-Travis:   [![Travis](https://travis-ci.org/aspnet/BasicMiddleware.svg?branch=dev)](https://travis-ci.org/aspnet/BasicMiddleware)
-
-This repo hosts a collection of basic middleware components for ASP.NET Core. This includes Buffering, HTTP Overrides, Response Compression, and URL Rewriting. 
-The Rewrite middleware can import rules from IIS's UrlRewrite and Apache's mod_rewrite.
-
-This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the [Home](https://github.com/aspnet/home) repo.
diff --git a/build.cmd b/build.cmd
deleted file mode 100644
index c0050bda125..00000000000
--- a/build.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE"
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 98a4b227658..00000000000
--- a/build.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs)
-chmod +x "$DIR/run.sh"; sync
-"$DIR/run.sh" default-build "$@"
diff --git a/build/Key.snk b/build/Key.snk
deleted file mode 100644
index e10e4889c125d3120cd9e81582243d70f7cbb806..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 596
zcmZQ)VqjoUVPFUfb~IvOVPIfnU}X4grOD#I^18#x&5Bl&pVqW&DLUcD-Nh&Mq%VEt
zk8k(p#@E{htx<l`byR}!<DIEo`zFXP_SKqaz3R4zl=$(w&qq`5#yw^Ao_Icaw@ua#
z`=ZrW>tEXPA3kK#UFN@j!^Q)}wogSO*R6JoU~btzx8%s9#+2=6AG!aSxQo40W^TLI
zrQK^2X5DbvF)3T}f61Ret%nrm2TUk?zBg(0lViJg8tgaO-0#=B>(Gq#8MmJ^Jl%Qy
z*mwKVD4TR$*Mr^rtIj=TGW{eUcVk7M?&SB6Vm$sTPTg(rGb8hJ%tVIhbsz5Zs<fpA
z2h?mS+1b0&YU`Q}IaVdB-nu5IOjTH$5PZ?l?ZiK?mScD4hcvCuv}8JNc}3y;Bk8ci
z{PQfbmNT{n8tk)A7Fhe|wGxwp)x<qH>~mVZoiEiq+%o&|+FRWoib-lM(~sA@obtcz
z=Jtusm$w_Z`F5Lbo-A~dRXZW8kv*Mlp0AsS{La(H!mF04<gL%@Zq%~vV=X?FX~Vry
z)~@$ePMSSq?8Z6u5!!qG1Fx*PbiJRuTjy-(dse3<Vy*RWB!8V*x@Af^!+|^jhp11-
zEsYMTvrd~`67nqbn!S_O-C(yLf!Bm~YFr7pDx&eO_pqv}h1lG%{X1)RCGfY()tIyi
z7fIUZtbS4@>M=)Budd?4_NjU<6P*udR|$UKY8KV0)xw)}XFbc@2lY+?Kf6qsotD|C
zaYioK>a6={s}D=o8>h6lv%^-mZ2z%(vjZomey)7mB!|CI@z36Hnq@5U{Lhx^{*-ft
JsC+#S2LQXs7>57=

diff --git a/build/dependencies.props b/build/dependencies.props
deleted file mode 100644
index 8924c74e649..00000000000
--- a/build/dependencies.props
+++ /dev/null
@@ -1,43 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
-  </PropertyGroup>
-
-  <!-- These package versions may be overridden or updated by automation. -->
-  <PropertyGroup Label="Package Versions: Auto">
-    <InternalAspNetCoreSdkPackageVersion>2.1.3-rtm-15802</InternalAspNetCoreSdkPackageVersion>
-    <MicrosoftNETCoreApp20PackageVersion>2.0.0</MicrosoftNETCoreApp20PackageVersion>
-    <MicrosoftNETCoreApp21PackageVersion>2.1.2</MicrosoftNETCoreApp21PackageVersion>
-    <MicrosoftNETTestSdkPackageVersion>15.6.1</MicrosoftNETTestSdkPackageVersion>
-    <MoqPackageVersion>4.7.49</MoqPackageVersion>
-    <NETStandardLibrary20PackageVersion>2.0.3</NETStandardLibrary20PackageVersion>
-    <XunitAnalyzersPackageVersion>0.8.0</XunitAnalyzersPackageVersion>
-    <XunitPackageVersion>2.3.1</XunitPackageVersion>
-    <XunitRunnerVisualStudioPackageVersion>2.4.0-beta.1.build3945</XunitRunnerVisualStudioPackageVersion>
-  </PropertyGroup>
-
-  <!-- This may import a generated file which may override the variables above. -->
-  <Import Project="$(DotNetPackageVersionPropsPath)" Condition=" '$(DotNetPackageVersionPropsPath)' != '' " />
-
-  <!-- These are package versions that should not be overridden or updated by automation. -->
-  <PropertyGroup Label="Package Versions: Pinned">
-    <MicrosoftAspNetCoreHostingAbstractionsPackageVersion>2.1.1</MicrosoftAspNetCoreHostingAbstractionsPackageVersion>
-    <MicrosoftAspNetCoreHttpAbstractionsPackageVersion>2.1.1</MicrosoftAspNetCoreHttpAbstractionsPackageVersion>
-    <MicrosoftAspNetCoreHttpExtensionsPackageVersion>2.1.1</MicrosoftAspNetCoreHttpExtensionsPackageVersion>
-    <MicrosoftAspNetCoreHttpPackageVersion>2.1.1</MicrosoftAspNetCoreHttpPackageVersion>
-    <MicrosoftAspNetCoreServerKestrelCorePackageVersion>2.1.2</MicrosoftAspNetCoreServerKestrelCorePackageVersion>
-    <MicrosoftAspNetCoreServerKestrelHttpsPackageVersion>2.1.2</MicrosoftAspNetCoreServerKestrelHttpsPackageVersion>
-    <MicrosoftAspNetCoreServerKestrelPackageVersion>2.1.2</MicrosoftAspNetCoreServerKestrelPackageVersion>
-    <MicrosoftAspNetCoreTestHostPackageVersion>2.1.1</MicrosoftAspNetCoreTestHostPackageVersion>
-    <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>2.1.1</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
-    <MicrosoftExtensionsConfigurationBinderPackageVersion>2.1.1</MicrosoftExtensionsConfigurationBinderPackageVersion>
-    <MicrosoftExtensionsConfigurationJsonPackageVersion>2.1.1</MicrosoftExtensionsConfigurationJsonPackageVersion>
-    <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>2.1.1</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
-    <MicrosoftExtensionsLoggingAbstractionsPackageVersion>2.1.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
-    <MicrosoftExtensionsLoggingConsolePackageVersion>2.1.1</MicrosoftExtensionsLoggingConsolePackageVersion>
-    <MicrosoftExtensionsLoggingTestingPackageVersion>2.1.1</MicrosoftExtensionsLoggingTestingPackageVersion>
-    <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>2.1.1</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
-    <MicrosoftExtensionsOptionsPackageVersion>2.1.1</MicrosoftExtensionsOptionsPackageVersion>
-    <MicrosoftNetHttpHeadersPackageVersion>2.1.1</MicrosoftNetHttpHeadersPackageVersion>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/build/repo.props b/build/repo.props
deleted file mode 100644
index dab1601c883..00000000000
--- a/build/repo.props
+++ /dev/null
@@ -1,15 +0,0 @@
-<Project>
-  <Import Project="dependencies.props" />
-
-  <PropertyGroup>
-    <!-- These properties are use by the automation that updates dependencies.props -->
-    <LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
-    <LineupPackageVersion>2.1.0-rc1-*</LineupPackageVersion>
-    <LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp20PackageVersion)" />
-    <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp21PackageVersion)" />
-  </ItemGroup>
-</Project>
diff --git a/build/sources.props b/build/sources.props
deleted file mode 100644
index 9215df9751b..00000000000
--- a/build/sources.props
+++ /dev/null
@@ -1,17 +0,0 @@
-<Project>
-  <Import Project="$(DotNetRestoreSourcePropsPath)" Condition="'$(DotNetRestoreSourcePropsPath)' != ''"/>
-
-  <PropertyGroup Label="RestoreSources">
-    <RestoreSources>$(DotNetRestoreSources)</RestoreSources>
-    <RestoreSources Condition="'$(DotNetBuildOffline)' != 'true' AND '$(AspNetUniverseBuildOffline)' != 'true' ">
-      $(RestoreSources);
-      https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
-      https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
-      https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
-    </RestoreSources>
-    <RestoreSources Condition="'$(DotNetBuildOffline)' != 'true'">
-      $(RestoreSources);
-      https://api.nuget.org/v3/index.json;
-    </RestoreSources>
-  </PropertyGroup>
-</Project>
diff --git a/korebuild-lock.txt b/korebuild-lock.txt
deleted file mode 100644
index 251c227c83e..00000000000
--- a/korebuild-lock.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-version:2.1.3-rtm-15802
-commithash:a7c08b45b440a7d2058a0aa1eaa3eb6ba811976a
diff --git a/korebuild.json b/korebuild.json
deleted file mode 100644
index 678d8bb9483..00000000000
--- a/korebuild.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.1/tools/korebuild.schema.json",
-  "channel": "release/2.1"
-}
diff --git a/run.cmd b/run.cmd
deleted file mode 100644
index d52d5c7e689..00000000000
--- a/run.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE"
diff --git a/run.ps1 b/run.ps1
deleted file mode 100644
index 27dcf848f84..00000000000
--- a/run.ps1
+++ /dev/null
@@ -1,196 +0,0 @@
-#!/usr/bin/env powershell
-#requires -version 4
-
-<#
-.SYNOPSIS
-Executes KoreBuild commands.
-
-.DESCRIPTION
-Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`.
-
-.PARAMETER Command
-The KoreBuild command to run.
-
-.PARAMETER Path
-The folder to build. Defaults to the folder containing this script.
-
-.PARAMETER Channel
-The channel of KoreBuild to download. Overrides the value from the config file.
-
-.PARAMETER DotNetHome
-The directory where .NET Core tools will be stored.
-
-.PARAMETER ToolsSource
-The base url where build tools can be downloaded. Overrides the value from the config file.
-
-.PARAMETER Update
-Updates KoreBuild to the latest version even if a lock file is present.
-
-.PARAMETER ConfigFile
-The path to the configuration file that stores values. Defaults to korebuild.json.
-
-.PARAMETER ToolsSourceSuffix
-The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores.
-
-.PARAMETER Arguments
-Arguments to be passed to the command
-
-.NOTES
-This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be.
-When the lockfile is not present, KoreBuild will create one using latest available version from $Channel.
-
-The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set
-in the file are overridden by command line parameters.
-
-.EXAMPLE
-Example config file:
-```json
-{
-  "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json",
-  "channel": "dev",
-  "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools"
-}
-```
-#>
-[CmdletBinding(PositionalBinding = $false)]
-param(
-    [Parameter(Mandatory = $true, Position = 0)]
-    [string]$Command,
-    [string]$Path = $PSScriptRoot,
-    [Alias('c')]
-    [string]$Channel,
-    [Alias('d')]
-    [string]$DotNetHome,
-    [Alias('s')]
-    [string]$ToolsSource,
-    [Alias('u')]
-    [switch]$Update,
-    [string]$ConfigFile,
-    [string]$ToolsSourceSuffix,
-    [Parameter(ValueFromRemainingArguments = $true)]
-    [string[]]$Arguments
-)
-
-Set-StrictMode -Version 2
-$ErrorActionPreference = 'Stop'
-
-#
-# Functions
-#
-
-function Get-KoreBuild {
-
-    $lockFile = Join-Path $Path 'korebuild-lock.txt'
-
-    if (!(Test-Path $lockFile) -or $Update) {
-        Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix
-    }
-
-    $version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1
-    if (!$version) {
-        Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'"
-    }
-    $version = $version.TrimStart('version:').Trim()
-    $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
-
-    if (!(Test-Path $korebuildPath)) {
-        Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
-        New-Item -ItemType Directory -Path $korebuildPath | Out-Null
-        $remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip"
-
-        try {
-            $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip"
-            Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix
-            if (Get-Command -Name 'Expand-Archive' -ErrorAction Ignore) {
-                # Use built-in commands where possible as they are cross-plat compatible
-                Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath
-            }
-            else {
-                # Fallback to old approach for old installations of PowerShell
-                Add-Type -AssemblyName System.IO.Compression.FileSystem
-                [System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath)
-            }
-        }
-        catch {
-            Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore
-            throw
-        }
-        finally {
-            Remove-Item $tmpfile -ErrorAction Ignore
-        }
-    }
-
-    return $korebuildPath
-}
-
-function Join-Paths([string]$path, [string[]]$childPaths) {
-    $childPaths | ForEach-Object { $path = Join-Path $path $_ }
-    return $path
-}
-
-function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) {
-    if ($RemotePath -notlike 'http*') {
-        Copy-Item $RemotePath $LocalPath
-        return
-    }
-
-    $retries = 10
-    while ($retries -gt 0) {
-        $retries -= 1
-        try {
-            Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath
-            return
-        }
-        catch {
-            Write-Verbose "Request failed. $retries retries remaining"
-        }
-    }
-
-    Write-Error "Download failed: '$RemotePath'."
-}
-
-#
-# Main
-#
-
-# Load configuration or set defaults
-
-$Path = Resolve-Path $Path
-if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' }
-
-if (Test-Path $ConfigFile) {
-    try {
-        $config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json
-        if ($config) {
-            if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel }
-            if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource}
-        }
-    }
-    catch {
-        Write-Warning "$ConfigFile could not be read. Its settings will be ignored."
-        Write-Warning $Error[0]
-    }
-}
-
-if (!$DotNetHome) {
-    $DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } `
-        elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} `
-        elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}`
-        else { Join-Path $PSScriptRoot '.dotnet'}
-}
-
-if (!$Channel) { $Channel = 'dev' }
-if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' }
-
-# Execute
-
-$korebuildPath = Get-KoreBuild
-Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1')
-
-try {
-    Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile
-    Invoke-KoreBuildCommand $Command @Arguments
-}
-finally {
-    Remove-Module 'KoreBuild' -ErrorAction Ignore
-}
diff --git a/run.sh b/run.sh
deleted file mode 100755
index 834961fc3a5..00000000000
--- a/run.sh
+++ /dev/null
@@ -1,231 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-#
-# variables
-#
-
-RESET="\033[0m"
-RED="\033[0;31m"
-YELLOW="\033[0;33m"
-MAGENTA="\033[0;95m"
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet"
-verbose=false
-update=false
-repo_path="$DIR"
-channel=''
-tools_source=''
-tools_source_suffix=''
-
-#
-# Functions
-#
-__usage() {
-    echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] <Arguments>...]"
-    echo ""
-    echo "Arguments:"
-    echo "    command                The command to be run."
-    echo "    <Arguments>...         Arguments passed to the command. Variable number of arguments allowed."
-    echo ""
-    echo "Options:"
-    echo "    --verbose                                             Show verbose output."
-    echo "    -c|--channel <CHANNEL>                                The channel of KoreBuild to download. Overrides the value from the config file.."
-    echo "    --config-file <FILE>                                  The path to the configuration file that stores values. Defaults to korebuild.json."
-    echo "    -d|--dotnet-home <DIR>                                The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet."
-    echo "    --path <PATH>                                         The directory to build. Defaults to the directory containing the script."
-    echo "    -s|--tools-source|-ToolsSource <URL>                  The base url where build tools can be downloaded. Overrides the value from the config file."
-    echo "    --tools-source-suffix|-ToolsSourceSuffix <SUFFIX>     The suffix to append to tools-source. Useful for query strings."
-    echo "    -u|--update                                           Update to the latest KoreBuild even if the lock file is present."
-    echo ""
-    echo "Description:"
-    echo "    This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be."
-    echo "    When the lockfile is not present, KoreBuild will create one using latest available version from \$channel."
-
-    if [[ "${1:-}" != '--no-exit' ]]; then
-        exit 2
-    fi
-}
-
-get_korebuild() {
-    local version
-    local lock_file="$repo_path/korebuild-lock.txt"
-    if [ ! -f "$lock_file" ] || [ "$update" = true ]; then
-        __get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix"
-    fi
-    version="$(grep 'version:*' -m 1 "$lock_file")"
-    if [[ "$version" == '' ]]; then
-        __error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'"
-        return 1
-    fi
-    version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
-    local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version"
-
-    {
-        if [ ! -d "$korebuild_path" ]; then
-            mkdir -p "$korebuild_path"
-            local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip"
-            tmpfile="$(mktemp)"
-            echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}"
-            if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then
-                unzip -q -d "$korebuild_path" "$tmpfile"
-            fi
-            rm "$tmpfile" || true
-        fi
-
-        source "$korebuild_path/KoreBuild.sh"
-    } || {
-        if [ -d "$korebuild_path" ]; then
-            echo "Cleaning up after failed installation"
-            rm -rf "$korebuild_path" || true
-        fi
-        return 1
-    }
-}
-
-__error() {
-    echo -e "${RED}error: $*${RESET}" 1>&2
-}
-
-__warn() {
-    echo -e "${YELLOW}warning: $*${RESET}"
-}
-
-__machine_has() {
-    hash "$1" > /dev/null 2>&1
-    return $?
-}
-
-__get_remote_file() {
-    local remote_path=$1
-    local local_path=$2
-    local remote_path_suffix=$3
-
-    if [[ "$remote_path" != 'http'* ]]; then
-        cp "$remote_path" "$local_path"
-        return 0
-    fi
-
-    local failed=false
-    if __machine_has wget; then
-        wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
-    else
-        failed=true
-    fi
-
-    if [ "$failed" = true ] && __machine_has curl; then
-        failed=false
-        curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
-    fi
-
-    if [ "$failed" = true ]; then
-        __error "Download failed: $remote_path" 1>&2
-        return 1
-    fi
-}
-
-#
-# main
-#
-
-command="${1:-}"
-shift
-
-while [[ $# -gt 0 ]]; do
-    case $1 in
-        -\?|-h|--help)
-            __usage --no-exit
-            exit 0
-            ;;
-        -c|--channel|-Channel)
-            shift
-            channel="${1:-}"
-            [ -z "$channel" ] && __usage
-            ;;
-        --config-file|-ConfigFile)
-            shift
-            config_file="${1:-}"
-            [ -z "$config_file" ] && __usage
-            if [ ! -f "$config_file" ]; then
-                __error "Invalid value for --config-file. $config_file does not exist."
-                exit 1
-            fi
-            ;;
-        -d|--dotnet-home|-DotNetHome)
-            shift
-            DOTNET_HOME="${1:-}"
-            [ -z "$DOTNET_HOME" ] && __usage
-            ;;
-        --path|-Path)
-            shift
-            repo_path="${1:-}"
-            [ -z "$repo_path" ] && __usage
-            ;;
-        -s|--tools-source|-ToolsSource)
-            shift
-            tools_source="${1:-}"
-            [ -z "$tools_source" ] && __usage
-            ;;
-        --tools-source-suffix|-ToolsSourceSuffix)
-            shift
-            tools_source_suffix="${1:-}"
-            [ -z "$tools_source_suffix" ] && __usage
-            ;;
-        -u|--update|-Update)
-            update=true
-            ;;
-        --verbose|-Verbose)
-            verbose=true
-            ;;
-        --)
-            shift
-            break
-            ;;
-        *)
-            break
-            ;;
-    esac
-    shift
-done
-
-if ! __machine_has unzip; then
-    __error 'Missing required command: unzip'
-    exit 1
-fi
-
-if ! __machine_has curl && ! __machine_has wget; then
-    __error 'Missing required command. Either wget or curl is required.'
-    exit 1
-fi
-
-[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json"
-if [ -f "$config_file" ]; then
-    if __machine_has jq ; then
-        if jq '.' "$config_file" >/dev/null ; then
-            config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")"
-            config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")"
-        else
-            __warn "$config_file is invalid JSON. Its settings will be ignored."
-        fi
-    elif __machine_has python ; then
-        if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
-            config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
-            config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
-        else
-            __warn "$config_file is invalid JSON. Its settings will be ignored."
-        fi
-    else
-        __warn 'Missing required command: jq or pyton. Could not parse the JSON file. Its settings will be ignored.'
-    fi
-
-    [ ! -z "${config_channel:-}" ] && channel="$config_channel"
-    [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source"
-fi
-
-[ -z "$channel" ] && channel='dev'
-[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools'
-
-get_korebuild
-set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file"
-invoke_korebuild_command "$command" "$@"
diff --git a/samples/HostFilteringSample/HostFilteringSample.csproj b/samples/HostFilteringSample/HostFilteringSample.csproj
deleted file mode 100644
index 7818be1fb04..00000000000
--- a/samples/HostFilteringSample/HostFilteringSample.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.HostFiltering\Microsoft.AspNetCore.HostFiltering.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <Content Update="appsettings.Development.json">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Update="appsettings.json">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Update="appsettings.Production.json">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-
-</Project>
diff --git a/samples/HttpOverridesSample/HttpOverridesSample.csproj b/samples/HttpOverridesSample/HttpOverridesSample.csproj
deleted file mode 100644
index e966dd09a75..00000000000
--- a/samples/HttpOverridesSample/HttpOverridesSample.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.HttpOverrides\Microsoft.AspNetCore.HttpOverrides.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/samples/HttpsPolicySample/HttpsPolicySample.csproj b/samples/HttpsPolicySample/HttpsPolicySample.csproj
deleted file mode 100644
index fdfa7164784..00000000000
--- a/samples/HttpsPolicySample/HttpsPolicySample.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFrameworks>net461;netcoreapp2.0</TargetFrameworks>
-    <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp2.0</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel.Https" Version="$(MicrosoftAspNetCoreServerKestrelHttpsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.HttpsPolicy\Microsoft.AspNetCore.HttpsPolicy.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/samples/ResponseBufferingSample/Properties/launchSettings.json b/samples/ResponseBufferingSample/Properties/launchSettings.json
deleted file mode 100644
index 2555984271b..00000000000
--- a/samples/ResponseBufferingSample/Properties/launchSettings.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "iisSettings": {
-    "windowsAuthentication": false,
-    "anonymousAuthentication": true,
-    "iisExpress": {
-      "applicationUrl": "http://localhost:49657/",
-      "sslPort": 0
-    }
-  },
-  "profiles": {
-    "IIS Express": {
-      "commandName": "IISExpress",
-      "launchBrowser": true,
-      "environmentVariables": {
-        "ASPNET_ENV": "Development"
-      }
-    },
-    "web": {
-      "commandName": "web",
-      "environmentVariables": {
-        "Hosting:Environment": "Development"
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/samples/ResponseBufferingSample/ResponseBufferingSample.csproj b/samples/ResponseBufferingSample/ResponseBufferingSample.csproj
deleted file mode 100644
index b9595a89d8a..00000000000
--- a/samples/ResponseBufferingSample/ResponseBufferingSample.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Buffering\Microsoft.AspNetCore.Buffering.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/samples/ResponseBufferingSample/Startup.cs b/samples/ResponseBufferingSample/Startup.cs
deleted file mode 100644
index c2189ad1ee8..00000000000
--- a/samples/ResponseBufferingSample/Startup.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Http;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace ResponseBufferingSample
-{
-    public class Startup
-    {
-        // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
-        public void ConfigureServices(IServiceCollection services)
-        {
-        }
-
-        public void Configure(IApplicationBuilder app)
-        {
-            app.UseResponseBuffering();
-            app.Run(async (context) =>
-            {
-                // Write some stuff
-                context.Response.ContentType = "text/other";
-                await context.Response.WriteAsync("Hello World!");
-
-                // ... more work ...
-
-                // Something went wrong and we want to replace the response
-                context.Response.StatusCode = 200;
-                context.Response.Headers.Clear();
-                context.Response.Body.SetLength(0);
-
-                // Try again
-                context.Response.ContentType = "text/plain";
-                await context.Response.WriteAsync("Hi Bob!");
-            });
-        }
-
-        // Entry point for the application.
-        public static void Main(string[] args)
-        {
-            var host = new WebHostBuilder()
-                .UseKestrel()
-                // .UseIIS() // This repo can no longer reference IIS because IISIntegration depends on it.
-                .UseStartup<Startup>()
-                .Build();
-
-            host.Run();
-        }
-    }
-}
-
diff --git a/samples/ResponseCompressionSample/ResponseCompressionSample.csproj b/samples/ResponseCompressionSample/ResponseCompressionSample.csproj
deleted file mode 100644
index 2a7f4cfbb76..00000000000
--- a/samples/ResponseCompressionSample/ResponseCompressionSample.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Content Update="testfile1kb.txt" CopyToOutputDirectory="PreserveNewest" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.ResponseCompression\Microsoft.AspNetCore.ResponseCompression.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/samples/RewriteSample/RewriteSample.csproj b/samples/RewriteSample/RewriteSample.csproj
deleted file mode 100644
index a74fc45b857..00000000000
--- a/samples/RewriteSample/RewriteSample.csproj
+++ /dev/null
@@ -1,16 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Rewrite\Microsoft.AspNetCore.Rewrite.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel.Https" Version="$(MicrosoftAspNetCoreServerKestrelHttpsPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
deleted file mode 100644
index 4b89a431e7f..00000000000
--- a/src/Directory.Build.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-
-  <ItemGroup>
-    <PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
-  </ItemGroup>
-</Project>
diff --git a/src/Microsoft.AspNetCore.Buffering/BufferingWriteStream.cs b/src/Microsoft.AspNetCore.Buffering/BufferingWriteStream.cs
deleted file mode 100644
index db3aacf5ddc..00000000000
--- a/src/Microsoft.AspNetCore.Buffering/BufferingWriteStream.cs
+++ /dev/null
@@ -1,218 +0,0 @@
-// 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.IO;
-using System.Threading;
-using System.Threading.Tasks;
-
-namespace Microsoft.AspNetCore.Buffering
-{
-    internal class BufferingWriteStream : Stream
-    {
-        private readonly Stream _innerStream;
-        private readonly MemoryStream _buffer = new MemoryStream();
-        private bool _isBuffering = true;
-
-        public BufferingWriteStream(Stream innerStream)
-        {
-            _innerStream = innerStream;
-        }
-
-        public override bool CanRead
-        {
-            get { return false; }
-        }
-
-        public override bool CanSeek
-        {
-            get { return _isBuffering; }
-        }
-
-        public override bool CanWrite
-        {
-            get { return _innerStream.CanWrite; }
-        }
-
-        public override long Length
-        {
-            get
-            {
-                if (_isBuffering)
-                {
-                    return _buffer.Length;
-                }
-                // May throw
-                return _innerStream.Length;
-            }
-        }
-
-        // Clear/Reset the buffer by setting Position, Seek, or SetLength to 0. Random access is not supported.
-        public override long Position
-        {
-            get
-            {
-                if (_isBuffering)
-                {
-                    return _buffer.Position;
-                }
-                // May throw
-                return _innerStream.Position;
-            }
-            set
-            {
-                if (_isBuffering)
-                {
-                    if (value != 0)
-                    {
-                        throw new ArgumentOutOfRangeException(nameof(value), value, nameof(Position) + " can only be set to 0.");
-                    }
-                    _buffer.Position = value;
-                    _buffer.SetLength(value);
-                }
-                else
-                {
-                    // May throw
-                    _innerStream.Position = value;
-                }
-            }
-        }
-
-        // Clear/Reset the buffer by setting Position, Seek, or SetLength to 0. Random access is not supported.
-        public override void SetLength(long value)
-        {
-            if (_isBuffering)
-            {
-                if (value != 0)
-                {
-                    throw new ArgumentOutOfRangeException(nameof(value), value, nameof(Length) + " can only be set to 0.");
-                }
-                _buffer.Position = value;
-                _buffer.SetLength(value);
-            }
-            else
-            {
-                // May throw
-                _innerStream.SetLength(value);
-            }
-        }
-
-        // Clear/Reset the buffer by setting Position, Seek, or SetLength to 0. Random access is not supported.
-        public override long Seek(long offset, SeekOrigin origin)
-        {
-            if (_isBuffering)
-            {
-                if (origin != SeekOrigin.Begin)
-                {
-                    throw new ArgumentException(nameof(origin), nameof(Seek) + " can only be set to " + nameof(SeekOrigin.Begin) + ".");
-                }
-                if (offset != 0)
-                {
-                    throw new ArgumentOutOfRangeException(nameof(offset), offset, nameof(Seek) + " can only be set to 0.");
-                }
-                _buffer.SetLength(offset);
-                return _buffer.Seek(offset, origin);
-            }
-            // Try the inner stream instead, but this will usually fail.
-            return _innerStream.Seek(offset, origin);
-        }
-
-        internal void DisableBuffering()
-        {
-            _isBuffering = false;
-            if (_buffer.Length > 0)
-            {
-                Flush();
-            }
-        }
-
-        internal Task DisableBufferingAsync(CancellationToken cancellationToken)
-        {
-            _isBuffering = false;
-            if (_buffer.Length > 0)
-            {
-                return FlushAsync(cancellationToken);
-            }
-            return Task.CompletedTask;
-        }
-
-        public override void Write(byte[] buffer, int offset, int count)
-        {
-            if (_isBuffering)
-            {
-                _buffer.Write(buffer, offset, count);
-            }
-            else
-            {
-                _innerStream.Write(buffer, offset, count);
-            }
-        }
-
-        public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
-        {
-            if (_isBuffering)
-            {
-                return _buffer.WriteAsync(buffer, offset, count, cancellationToken);
-            }
-            else
-            {
-                return _innerStream.WriteAsync(buffer, offset, count, cancellationToken);
-            }
-        }
-
-        public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state)
-        {
-            if (_isBuffering)
-            {
-                return _buffer.BeginWrite(buffer, offset, count, callback, state);
-            }
-            else
-            {
-                return _innerStream.BeginWrite(buffer, offset, count, callback, state);
-            }
-        }
-
-        public override void EndWrite(IAsyncResult asyncResult)
-        {
-            if (_isBuffering)
-            {
-                _buffer.EndWrite(asyncResult);
-            }
-            else
-            {
-                _innerStream.EndWrite(asyncResult);
-            }
-        }
-
-        public override void Flush()
-        {
-            _isBuffering = false;
-            if (_buffer.Length > 0)
-            {
-                _buffer.Seek(0, SeekOrigin.Begin);
-                _buffer.CopyTo(_innerStream);
-                _buffer.Seek(0, SeekOrigin.Begin);
-                _buffer.SetLength(0);
-            }
-            _innerStream.Flush();
-        }
-
-        public override async Task FlushAsync(CancellationToken cancellationToken)
-        {
-            _isBuffering = false;
-            if (_buffer.Length > 0)
-            {
-                _buffer.Seek(0, SeekOrigin.Begin);
-                await _buffer.CopyToAsync(_innerStream, 1024 * 16, cancellationToken);
-                _buffer.Seek(0, SeekOrigin.Begin);
-                _buffer.SetLength(0);
-            }
-            await _innerStream.FlushAsync(cancellationToken);
-        }
-
-        public override int Read(byte[] buffer, int offset, int count)
-        {
-            throw new NotSupportedException("This Stream only supports Write operations.");
-        }
-    }
-}
diff --git a/src/Microsoft.AspNetCore.Buffering/HttpBufferingFeature.cs b/src/Microsoft.AspNetCore.Buffering/HttpBufferingFeature.cs
deleted file mode 100644
index 746712f5c87..00000000000
--- a/src/Microsoft.AspNetCore.Buffering/HttpBufferingFeature.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// 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 Microsoft.AspNetCore.Http.Features;
-
-namespace Microsoft.AspNetCore.Buffering
-{
-    internal class HttpBufferingFeature : IHttpBufferingFeature
-    {
-        private readonly BufferingWriteStream _buffer;
-        private readonly IHttpBufferingFeature _innerFeature;
-
-        internal HttpBufferingFeature(BufferingWriteStream buffer, IHttpBufferingFeature innerFeature)
-        {
-            _buffer = buffer;
-            _innerFeature = innerFeature;
-        }
-
-        public void DisableRequestBuffering()
-        {
-            _innerFeature?.DisableRequestBuffering();
-        }
-
-        public void DisableResponseBuffering()
-        {
-            _buffer.DisableBuffering();
-            _innerFeature?.DisableResponseBuffering();
-        }
-    }
-}
diff --git a/src/Microsoft.AspNetCore.Buffering/Microsoft.AspNetCore.Buffering.csproj b/src/Microsoft.AspNetCore.Buffering/Microsoft.AspNetCore.Buffering.csproj
deleted file mode 100644
index 953716c6c11..00000000000
--- a/src/Microsoft.AspNetCore.Buffering/Microsoft.AspNetCore.Buffering.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <VersionPrefix Condition="'$(ExperimentalVersionPrefix)' != ''">$(ExperimentalVersionPrefix)</VersionPrefix>
-    <VersionSuffix Condition="'$(ExperimentalVersionSuffix)' != ''">$(ExperimentalVersionSuffix)</VersionSuffix>
-    <VerifyVersion Condition="'$(ExperimentalVersionPrefix)' != ''">false</VerifyVersion>
-    <PackageVersion Condition="'$(ExperimentalPackageVersion)' != ''">$(ExperimentalPackageVersion)</PackageVersion>
-    <Description>ASP.NET Core middleware for buffering response bodies.</Description>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <NoWarn>$(NoWarn);CS1591</NoWarn>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-    <PackageTags>aspnetcore;buffer;buffering</PackageTags>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Microsoft.AspNetCore.Buffering/ResponseBufferingMiddleware.cs b/src/Microsoft.AspNetCore.Buffering/ResponseBufferingMiddleware.cs
deleted file mode 100644
index bd5b8e1515f..00000000000
--- a/src/Microsoft.AspNetCore.Buffering/ResponseBufferingMiddleware.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-// 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.Threading.Tasks;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Http.Features;
-
-namespace Microsoft.AspNetCore.Buffering
-{
-    public class ResponseBufferingMiddleware
-    {
-        private readonly RequestDelegate _next;
-
-        public ResponseBufferingMiddleware(RequestDelegate next)
-        {
-            _next = next;
-        }
-
-        public async Task Invoke(HttpContext httpContext)
-        {
-            var originalResponseBody = httpContext.Response.Body;
-
-            // no-op if buffering is already available.
-            if (originalResponseBody.CanSeek)
-            {
-                await _next(httpContext);
-                return;
-            }
-
-            var originalBufferingFeature = httpContext.Features.Get<IHttpBufferingFeature>();
-            var originalSendFileFeature = httpContext.Features.Get<IHttpSendFileFeature>();
-            try
-            {
-                // Shim the response stream
-                var bufferStream = new BufferingWriteStream(originalResponseBody);
-                httpContext.Response.Body = bufferStream;
-                httpContext.Features.Set<IHttpBufferingFeature>(new HttpBufferingFeature(bufferStream, originalBufferingFeature));
-                if (originalSendFileFeature != null)
-                {
-                    httpContext.Features.Set<IHttpSendFileFeature>(new SendFileFeatureWrapper(originalSendFileFeature, bufferStream));
-                }
-
-                await _next(httpContext);
-
-                // If we're still buffered, set the content-length header and flush the buffer.
-                // Only if the content-length header is not already set, and some content was buffered.
-                if (!httpContext.Response.HasStarted && bufferStream.CanSeek && bufferStream.Length > 0)
-                {
-                    if (!httpContext.Response.ContentLength.HasValue)
-                    {
-                        httpContext.Response.ContentLength = bufferStream.Length;
-                    }
-                    await bufferStream.FlushAsync();
-                }
-            }
-            finally
-            {
-                // undo everything
-                httpContext.Features.Set(originalBufferingFeature);
-                httpContext.Features.Set(originalSendFileFeature);
-                httpContext.Response.Body = originalResponseBody;
-            }
-        }
-    }
-}
diff --git a/src/Microsoft.AspNetCore.Buffering/ResponseBufferingMiddlewareExtensions.cs b/src/Microsoft.AspNetCore.Buffering/ResponseBufferingMiddlewareExtensions.cs
deleted file mode 100644
index 5092dba3c43..00000000000
--- a/src/Microsoft.AspNetCore.Buffering/ResponseBufferingMiddlewareExtensions.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-// 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 Microsoft.AspNetCore.Buffering;
-
-namespace Microsoft.AspNetCore.Builder
-{
-    public static class ResponseBufferingMiddlewareExtensions
-    {
-        /// <summary>
-        /// Enables full buffering of response bodies. This can be disabled on a per request basis using IHttpBufferingFeature.
-        /// </summary>
-        /// <param name="builder"></param>
-        /// <returns></returns>
-        public static IApplicationBuilder UseResponseBuffering(this IApplicationBuilder builder)
-        {
-            return builder.UseMiddleware<ResponseBufferingMiddleware>();
-        }
-    }
-}
diff --git a/src/Microsoft.AspNetCore.Buffering/SendFileFeatureWrapper.cs b/src/Microsoft.AspNetCore.Buffering/SendFileFeatureWrapper.cs
deleted file mode 100644
index 346173e315d..00000000000
--- a/src/Microsoft.AspNetCore.Buffering/SendFileFeatureWrapper.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// 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.Threading;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http.Features;
-
-namespace Microsoft.AspNetCore.Buffering
-{
-    internal class SendFileFeatureWrapper : IHttpSendFileFeature
-    {
-        private readonly IHttpSendFileFeature _originalSendFileFeature;
-        private readonly BufferingWriteStream _bufferStream;
-
-        public SendFileFeatureWrapper(IHttpSendFileFeature originalSendFileFeature, BufferingWriteStream bufferStream)
-        {
-            _originalSendFileFeature = originalSendFileFeature;
-            _bufferStream = bufferStream;
-        }
-
-        // Flush and disable the buffer if anyone tries to call the SendFile feature.
-        public async Task SendFileAsync(string path, long offset, long? length, CancellationToken cancellation)
-        {
-            await _bufferStream.DisableBufferingAsync(cancellation);
-            await _originalSendFileFeature.SendFileAsync(path, offset, length, cancellation);
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.HostFiltering/Microsoft.AspNetCore.HostFiltering.csproj b/src/Microsoft.AspNetCore.HostFiltering/Microsoft.AspNetCore.HostFiltering.csproj
deleted file mode 100644
index ec6d6423407..00000000000
--- a/src/Microsoft.AspNetCore.HostFiltering/Microsoft.AspNetCore.HostFiltering.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <Description>
-      ASP.NET Core middleware for filtering out requests with unknown HTTP host headers.
-    </Description>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-    <PackageTags>aspnetcore</PackageTags>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="$(MicrosoftAspNetCoreHttpExtensionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(MicrosoftAspNetCoreHostingAbstractionsPackageVersion)" /> 
-  </ItemGroup>
-</Project>
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/Microsoft.AspNetCore.HttpsPolicy.csproj b/src/Microsoft.AspNetCore.HttpsPolicy/Microsoft.AspNetCore.HttpsPolicy.csproj
deleted file mode 100644
index ee7e611a475..00000000000
--- a/src/Microsoft.AspNetCore.HttpsPolicy/Microsoft.AspNetCore.HttpsPolicy.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <Description>
-      ASP.NET Core basic middleware for supporting HTTPS Redirection and HTTP Strict-Transport-Security.
-    </Description>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <NoWarn>$(NoWarn);CS1591</NoWarn>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-    <PackageTags>aspnetcore;https;hsts</PackageTags>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="$(MicrosoftAspNetCoreHttpExtensionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="$(MicrosoftExtensionsConfigurationBinderPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(MicrosoftAspNetCoreHostingAbstractionsPackageVersion)" /> 
-  </ItemGroup>
-</Project>
diff --git a/src/Microsoft.AspNetCore.Rewrite/Microsoft.AspNetCore.Rewrite.csproj b/src/Microsoft.AspNetCore.Rewrite/Microsoft.AspNetCore.Rewrite.csproj
deleted file mode 100644
index 03c3e53b64e..00000000000
--- a/src/Microsoft.AspNetCore.Rewrite/Microsoft.AspNetCore.Rewrite.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <Description>ASP.NET Core basic middleware for rewriting URLs. Includes:
-* Support for custom URL rewrite rules
-* Support for running IIS URL Rewrite module rules
-* Support for running Apache mod_rewrite rules.</Description>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <NoWarn>$(NoWarn);CS1591</NoWarn>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-    <PackageTags>aspnetcore;urlrewrite;mod_rewrite</PackageTags>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(MicrosoftAspNetCoreHostingAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="$(MicrosoftAspNetCoreHttpExtensionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.FileProviders.Abstractions" Version="$(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Middleware/HostFiltering/sample/HostFilteringSample.csproj b/src/Middleware/HostFiltering/sample/HostFilteringSample.csproj
new file mode 100644
index 00000000000..2bf095937a1
--- /dev/null
+++ b/src/Middleware/HostFiltering/sample/HostFilteringSample.csproj
@@ -0,0 +1,26 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.HostFiltering" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.Extensions.Configuration.Json" />
+    <Reference Include="Microsoft.Extensions.Logging.Console" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Content Update="appsettings.Development.json">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Update="appsettings.json">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Update="appsettings.Production.json">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+
+</Project>
diff --git a/samples/HostFilteringSample/Program.cs b/src/Middleware/HostFiltering/sample/Program.cs
similarity index 100%
rename from samples/HostFilteringSample/Program.cs
rename to src/Middleware/HostFiltering/sample/Program.cs
diff --git a/samples/HostFilteringSample/Properties/launchSettings.json b/src/Middleware/HostFiltering/sample/Properties/launchSettings.json
similarity index 100%
rename from samples/HostFilteringSample/Properties/launchSettings.json
rename to src/Middleware/HostFiltering/sample/Properties/launchSettings.json
diff --git a/samples/HostFilteringSample/Startup.cs b/src/Middleware/HostFiltering/sample/Startup.cs
similarity index 100%
rename from samples/HostFilteringSample/Startup.cs
rename to src/Middleware/HostFiltering/sample/Startup.cs
diff --git a/samples/HostFilteringSample/appsettings.Development.json b/src/Middleware/HostFiltering/sample/appsettings.Development.json
similarity index 100%
rename from samples/HostFilteringSample/appsettings.Development.json
rename to src/Middleware/HostFiltering/sample/appsettings.Development.json
diff --git a/samples/HostFilteringSample/appsettings.Production.json b/src/Middleware/HostFiltering/sample/appsettings.Production.json
similarity index 100%
rename from samples/HostFilteringSample/appsettings.Production.json
rename to src/Middleware/HostFiltering/sample/appsettings.Production.json
diff --git a/samples/HostFilteringSample/appsettings.json b/src/Middleware/HostFiltering/sample/appsettings.json
similarity index 100%
rename from samples/HostFilteringSample/appsettings.json
rename to src/Middleware/HostFiltering/sample/appsettings.json
diff --git a/src/Microsoft.AspNetCore.HostFiltering/HostFilteringBuilderExtensions.cs b/src/Middleware/HostFiltering/src/HostFilteringBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HostFiltering/HostFilteringBuilderExtensions.cs
rename to src/Middleware/HostFiltering/src/HostFilteringBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.HostFiltering/HostFilteringMiddleware.cs b/src/Middleware/HostFiltering/src/HostFilteringMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HostFiltering/HostFilteringMiddleware.cs
rename to src/Middleware/HostFiltering/src/HostFilteringMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.HostFiltering/HostFilteringOptions.cs b/src/Middleware/HostFiltering/src/HostFilteringOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HostFiltering/HostFilteringOptions.cs
rename to src/Middleware/HostFiltering/src/HostFilteringOptions.cs
diff --git a/src/Microsoft.AspNetCore.HostFiltering/HostFilteringServicesExtensions.cs b/src/Middleware/HostFiltering/src/HostFilteringServicesExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HostFiltering/HostFilteringServicesExtensions.cs
rename to src/Middleware/HostFiltering/src/HostFilteringServicesExtensions.cs
diff --git a/src/Middleware/HostFiltering/src/Microsoft.AspNetCore.HostFiltering.csproj b/src/Middleware/HostFiltering/src/Microsoft.AspNetCore.HostFiltering.csproj
new file mode 100644
index 00000000000..a8eb42bb026
--- /dev/null
+++ b/src/Middleware/HostFiltering/src/Microsoft.AspNetCore.HostFiltering.csproj
@@ -0,0 +1,18 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <Description>
+      ASP.NET Core middleware for filtering out requests with unknown HTTP host headers.
+    </Description>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <PackageTags>aspnetcore</PackageTags>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Http" />
+    <Reference Include="Microsoft.AspNetCore.Http.Extensions" />
+    <Reference Include="Microsoft.Extensions.Options" />
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> 
+  </ItemGroup>
+</Project>
diff --git a/src/Microsoft.AspNetCore.HostFiltering/baseline.netcore.json b/src/Middleware/HostFiltering/src/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.HostFiltering/baseline.netcore.json
rename to src/Middleware/HostFiltering/src/baseline.netcore.json
diff --git a/test/Microsoft.AspNetCore.HostFiltering.Tests/HostFilteringMiddlewareTests.cs b/src/Middleware/HostFiltering/test/HostFilteringMiddlewareTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.HostFiltering.Tests/HostFilteringMiddlewareTests.cs
rename to src/Middleware/HostFiltering/test/HostFilteringMiddlewareTests.cs
diff --git a/src/Middleware/HostFiltering/test/Microsoft.AspNetCore.HostFiltering.Tests.csproj b/src/Middleware/HostFiltering/test/Microsoft.AspNetCore.HostFiltering.Tests.csproj
new file mode 100644
index 00000000000..a430a2df239
--- /dev/null
+++ b/src/Middleware/HostFiltering/test/Microsoft.AspNetCore.HostFiltering.Tests.csproj
@@ -0,0 +1,12 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.HostFiltering" />
+    <Reference Include="Microsoft.Extensions.Options.ConfigurationExtensions" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Middleware/HttpOverrides/sample/HttpOverridesSample.csproj b/src/Middleware/HttpOverrides/sample/HttpOverridesSample.csproj
new file mode 100644
index 00000000000..1d5cf506c10
--- /dev/null
+++ b/src/Middleware/HttpOverrides/sample/HttpOverridesSample.csproj
@@ -0,0 +1,12 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.HttpOverrides" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+  </ItemGroup>
+
+</Project>
diff --git a/samples/HttpOverridesSample/Properties/launchSettings.json b/src/Middleware/HttpOverrides/sample/Properties/launchSettings.json
similarity index 100%
rename from samples/HttpOverridesSample/Properties/launchSettings.json
rename to src/Middleware/HttpOverrides/sample/Properties/launchSettings.json
diff --git a/samples/HttpOverridesSample/Startup.cs b/src/Middleware/HttpOverrides/sample/Startup.cs
similarity index 100%
rename from samples/HttpOverridesSample/Startup.cs
rename to src/Middleware/HttpOverrides/sample/Startup.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeaders.cs b/src/Middleware/HttpOverrides/src/ForwardedHeaders.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeaders.cs
rename to src/Middleware/HttpOverrides/src/ForwardedHeaders.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeadersDefaults.cs b/src/Middleware/HttpOverrides/src/ForwardedHeadersDefaults.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeadersDefaults.cs
rename to src/Middleware/HttpOverrides/src/ForwardedHeadersDefaults.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeadersExtensions.cs b/src/Middleware/HttpOverrides/src/ForwardedHeadersExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeadersExtensions.cs
rename to src/Middleware/HttpOverrides/src/ForwardedHeadersExtensions.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeadersMiddleware.cs b/src/Middleware/HttpOverrides/src/ForwardedHeadersMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeadersMiddleware.cs
rename to src/Middleware/HttpOverrides/src/ForwardedHeadersMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeadersOptions.cs b/src/Middleware/HttpOverrides/src/ForwardedHeadersOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/ForwardedHeadersOptions.cs
rename to src/Middleware/HttpOverrides/src/ForwardedHeadersOptions.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/HttpMethodOverrideExtensions.cs b/src/Middleware/HttpOverrides/src/HttpMethodOverrideExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/HttpMethodOverrideExtensions.cs
rename to src/Middleware/HttpOverrides/src/HttpMethodOverrideExtensions.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/HttpMethodOverrideMiddleware.cs b/src/Middleware/HttpOverrides/src/HttpMethodOverrideMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/HttpMethodOverrideMiddleware.cs
rename to src/Middleware/HttpOverrides/src/HttpMethodOverrideMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/HttpMethodOverrideOptions.cs b/src/Middleware/HttpOverrides/src/HttpMethodOverrideOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/HttpMethodOverrideOptions.cs
rename to src/Middleware/HttpOverrides/src/HttpMethodOverrideOptions.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/IPNetwork.cs b/src/Middleware/HttpOverrides/src/IPNetwork.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/IPNetwork.cs
rename to src/Middleware/HttpOverrides/src/IPNetwork.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/Internal/IPEndPointParser.cs b/src/Middleware/HttpOverrides/src/Internal/IPEndPointParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/Internal/IPEndPointParser.cs
rename to src/Middleware/HttpOverrides/src/Internal/IPEndPointParser.cs
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/Microsoft.AspNetCore.HttpOverrides.csproj b/src/Middleware/HttpOverrides/src/Microsoft.AspNetCore.HttpOverrides.csproj
similarity index 57%
rename from src/Microsoft.AspNetCore.HttpOverrides/Microsoft.AspNetCore.HttpOverrides.csproj
rename to src/Middleware/HttpOverrides/src/Microsoft.AspNetCore.HttpOverrides.csproj
index c922f7f94f3..11b2130693c 100644
--- a/src/Microsoft.AspNetCore.HttpOverrides/Microsoft.AspNetCore.HttpOverrides.csproj
+++ b/src/Middleware/HttpOverrides/src/Microsoft.AspNetCore.HttpOverrides.csproj
@@ -11,9 +11,9 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="$(MicrosoftAspNetCoreHttpExtensionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Http.Extensions" />
+    <Reference Include="Microsoft.Extensions.Logging.Abstractions" />
+    <Reference Include="Microsoft.Extensions.Options" />
   </ItemGroup>
 
 </Project>
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/baseline.net45.json b/src/Middleware/HttpOverrides/src/baseline.net45.json
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/baseline.net45.json
rename to src/Middleware/HttpOverrides/src/baseline.net45.json
diff --git a/src/Microsoft.AspNetCore.HttpOverrides/baseline.netcore.json b/src/Middleware/HttpOverrides/src/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpOverrides/baseline.netcore.json
rename to src/Middleware/HttpOverrides/src/baseline.netcore.json
diff --git a/test/Microsoft.AspNetCore.HttpOverrides.Tests/ForwardedHeadersMiddlewareTest.cs b/src/Middleware/HttpOverrides/test/ForwardedHeadersMiddlewareTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.HttpOverrides.Tests/ForwardedHeadersMiddlewareTest.cs
rename to src/Middleware/HttpOverrides/test/ForwardedHeadersMiddlewareTest.cs
diff --git a/test/Microsoft.AspNetCore.HttpOverrides.Tests/HttpMethodOverrideMiddlewareTest.cs b/src/Middleware/HttpOverrides/test/HttpMethodOverrideMiddlewareTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.HttpOverrides.Tests/HttpMethodOverrideMiddlewareTest.cs
rename to src/Middleware/HttpOverrides/test/HttpMethodOverrideMiddlewareTest.cs
diff --git a/test/Microsoft.AspNetCore.HttpOverrides.Tests/IPEndPointParserTest.cs b/src/Middleware/HttpOverrides/test/IPEndPointParserTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.HttpOverrides.Tests/IPEndPointParserTest.cs
rename to src/Middleware/HttpOverrides/test/IPEndPointParserTest.cs
diff --git a/test/Microsoft.AspNetCore.HttpOverrides.Tests/IPNetworkTest.cs b/src/Middleware/HttpOverrides/test/IPNetworkTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.HttpOverrides.Tests/IPNetworkTest.cs
rename to src/Middleware/HttpOverrides/test/IPNetworkTest.cs
diff --git a/test/Microsoft.AspNetCore.Buffering.Tests/Microsoft.AspNetCore.Buffering.Tests.csproj b/src/Middleware/HttpOverrides/test/Microsoft.AspNetCore.HttpOverrides.Tests.csproj
similarity index 58%
rename from test/Microsoft.AspNetCore.Buffering.Tests/Microsoft.AspNetCore.Buffering.Tests.csproj
rename to src/Middleware/HttpOverrides/test/Microsoft.AspNetCore.HttpOverrides.Tests.csproj
index 5f8209ea44b..880dffd329b 100644
--- a/test/Microsoft.AspNetCore.Buffering.Tests/Microsoft.AspNetCore.Buffering.Tests.csproj
+++ b/src/Middleware/HttpOverrides/test/Microsoft.AspNetCore.HttpOverrides.Tests.csproj
@@ -5,7 +5,8 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Buffering\Microsoft.AspNetCore.Buffering.csproj" />
+    <Reference Include="Microsoft.AspNetCore.HttpOverrides" />
+    <Reference Include="Microsoft.Extensions.Logging.Testing" />
   </ItemGroup>
 
 </Project>
diff --git a/src/Middleware/HttpsPolicy/sample/HttpsPolicySample.csproj b/src/Middleware/HttpsPolicy/sample/HttpsPolicySample.csproj
new file mode 100644
index 00000000000..3bbe805f9f3
--- /dev/null
+++ b/src/Middleware/HttpsPolicy/sample/HttpsPolicySample.csproj
@@ -0,0 +1,14 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFrameworks>net461;netcoreapp2.0</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Https" />
+    <Reference Include="Microsoft.Extensions.Logging.Console" />
+    <Reference Include="Microsoft.AspNetCore.HttpsPolicy" />
+  </ItemGroup>
+
+</Project>
diff --git a/samples/HttpsPolicySample/Properties/launchSettings.json b/src/Middleware/HttpsPolicy/sample/Properties/launchSettings.json
similarity index 100%
rename from samples/HttpsPolicySample/Properties/launchSettings.json
rename to src/Middleware/HttpsPolicy/sample/Properties/launchSettings.json
diff --git a/samples/HttpsPolicySample/Startup.cs b/src/Middleware/HttpsPolicy/sample/Startup.cs
similarity index 100%
rename from samples/HttpsPolicySample/Startup.cs
rename to src/Middleware/HttpsPolicy/sample/Startup.cs
diff --git a/samples/HttpsPolicySample/testCert.pfx b/src/Middleware/HttpsPolicy/sample/testCert.pfx
similarity index 100%
rename from samples/HttpsPolicySample/testCert.pfx
rename to src/Middleware/HttpsPolicy/sample/testCert.pfx
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/HstsBuilderExtensions.cs b/src/Middleware/HttpsPolicy/src/HstsBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/HstsBuilderExtensions.cs
rename to src/Middleware/HttpsPolicy/src/HstsBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/HstsMiddleware.cs b/src/Middleware/HttpsPolicy/src/HstsMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/HstsMiddleware.cs
rename to src/Middleware/HttpsPolicy/src/HstsMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/HstsOptions.cs b/src/Middleware/HttpsPolicy/src/HstsOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/HstsOptions.cs
rename to src/Middleware/HttpsPolicy/src/HstsOptions.cs
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/HstsServicesExtensions.cs b/src/Middleware/HttpsPolicy/src/HstsServicesExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/HstsServicesExtensions.cs
rename to src/Middleware/HttpsPolicy/src/HstsServicesExtensions.cs
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/HttpsRedirectionBuilderExtensions.cs b/src/Middleware/HttpsPolicy/src/HttpsRedirectionBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/HttpsRedirectionBuilderExtensions.cs
rename to src/Middleware/HttpsPolicy/src/HttpsRedirectionBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/HttpsRedirectionMiddleware.cs b/src/Middleware/HttpsPolicy/src/HttpsRedirectionMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/HttpsRedirectionMiddleware.cs
rename to src/Middleware/HttpsPolicy/src/HttpsRedirectionMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/HttpsRedirectionOptions.cs b/src/Middleware/HttpsPolicy/src/HttpsRedirectionOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/HttpsRedirectionOptions.cs
rename to src/Middleware/HttpsPolicy/src/HttpsRedirectionOptions.cs
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/HttpsRedirectionServicesExtensions.cs b/src/Middleware/HttpsPolicy/src/HttpsRedirectionServicesExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/HttpsRedirectionServicesExtensions.cs
rename to src/Middleware/HttpsPolicy/src/HttpsRedirectionServicesExtensions.cs
diff --git a/src/Middleware/HttpsPolicy/src/Microsoft.AspNetCore.HttpsPolicy.csproj b/src/Middleware/HttpsPolicy/src/Microsoft.AspNetCore.HttpsPolicy.csproj
new file mode 100644
index 00000000000..f367ea28ccb
--- /dev/null
+++ b/src/Middleware/HttpsPolicy/src/Microsoft.AspNetCore.HttpsPolicy.csproj
@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <Description>
+      ASP.NET Core basic middleware for supporting HTTPS Redirection and HTTP Strict-Transport-Security.
+    </Description>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <NoWarn>$(NoWarn);CS1591</NoWarn>
+    <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <PackageTags>aspnetcore;https;hsts</PackageTags>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Http" />
+    <Reference Include="Microsoft.AspNetCore.Http.Extensions" />
+    <Reference Include="Microsoft.Extensions.Configuration.Binder" />
+    <Reference Include="Microsoft.Extensions.Options" />
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> 
+  </ItemGroup>
+</Project>
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/baseline.netcore.json b/src/Middleware/HttpsPolicy/src/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/baseline.netcore.json
rename to src/Middleware/HttpsPolicy/src/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.HttpsPolicy/internal/HttpsLoggingExtensions.cs b/src/Middleware/HttpsPolicy/src/internal/HttpsLoggingExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.HttpsPolicy/internal/HttpsLoggingExtensions.cs
rename to src/Middleware/HttpsPolicy/src/internal/HttpsLoggingExtensions.cs
diff --git a/test/Microsoft.AspNetCore.HttpsPolicy.Tests/HstsMiddlewareTests.cs b/src/Middleware/HttpsPolicy/test/HstsMiddlewareTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.HttpsPolicy.Tests/HstsMiddlewareTests.cs
rename to src/Middleware/HttpsPolicy/test/HstsMiddlewareTests.cs
diff --git a/test/Microsoft.AspNetCore.HttpsPolicy.Tests/HttpsPolicyTests.cs b/src/Middleware/HttpsPolicy/test/HttpsPolicyTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.HttpsPolicy.Tests/HttpsPolicyTests.cs
rename to src/Middleware/HttpsPolicy/test/HttpsPolicyTests.cs
diff --git a/test/Microsoft.AspNetCore.HttpsPolicy.Tests/HttpsRedirectionMiddlewareTests.cs b/src/Middleware/HttpsPolicy/test/HttpsRedirectionMiddlewareTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.HttpsPolicy.Tests/HttpsRedirectionMiddlewareTests.cs
rename to src/Middleware/HttpsPolicy/test/HttpsRedirectionMiddlewareTests.cs
diff --git a/test/Microsoft.AspNetCore.HttpsPolicy.Tests/Microsoft.AspNetCore.HttpsPolicy.Tests.csproj b/src/Middleware/HttpsPolicy/test/Microsoft.AspNetCore.HttpsPolicy.Tests.csproj
similarity index 50%
rename from test/Microsoft.AspNetCore.HttpsPolicy.Tests/Microsoft.AspNetCore.HttpsPolicy.Tests.csproj
rename to src/Middleware/HttpsPolicy/test/Microsoft.AspNetCore.HttpsPolicy.Tests.csproj
index e51e3a6640d..097990a99a4 100644
--- a/test/Microsoft.AspNetCore.HttpsPolicy.Tests/Microsoft.AspNetCore.HttpsPolicy.Tests.csproj
+++ b/src/Middleware/HttpsPolicy/test/Microsoft.AspNetCore.HttpsPolicy.Tests.csproj
@@ -6,10 +6,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.HttpsPolicy\Microsoft.AspNetCore.HttpsPolicy.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.HttpsPolicy" />
+    <Reference Include="Microsoft.Extensions.Logging.Testing" />
   </ItemGroup>
 </Project>
diff --git a/samples/ResponseCompressionSample/CustomCompressionProvider.cs b/src/Middleware/ResponseCompression/sample/CustomCompressionProvider.cs
similarity index 100%
rename from samples/ResponseCompressionSample/CustomCompressionProvider.cs
rename to src/Middleware/ResponseCompression/sample/CustomCompressionProvider.cs
diff --git a/samples/ResponseCompressionSample/LoremIpsum.cs b/src/Middleware/ResponseCompression/sample/LoremIpsum.cs
similarity index 100%
rename from samples/ResponseCompressionSample/LoremIpsum.cs
rename to src/Middleware/ResponseCompression/sample/LoremIpsum.cs
diff --git a/samples/ResponseCompressionSample/Properties/launchSettings.json b/src/Middleware/ResponseCompression/sample/Properties/launchSettings.json
similarity index 100%
rename from samples/ResponseCompressionSample/Properties/launchSettings.json
rename to src/Middleware/ResponseCompression/sample/Properties/launchSettings.json
diff --git a/src/Middleware/ResponseCompression/sample/ResponseCompressionSample.csproj b/src/Middleware/ResponseCompression/sample/ResponseCompressionSample.csproj
new file mode 100644
index 00000000000..c9aa982896d
--- /dev/null
+++ b/src/Middleware/ResponseCompression/sample/ResponseCompressionSample.csproj
@@ -0,0 +1,17 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Content Update="testfile1kb.txt" CopyToOutputDirectory="PreserveNewest" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.ResponseCompression" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.Extensions.Logging.Console" />
+  </ItemGroup>
+
+</Project>
diff --git a/samples/ResponseCompressionSample/Startup.cs b/src/Middleware/ResponseCompression/sample/Startup.cs
similarity index 100%
rename from samples/ResponseCompressionSample/Startup.cs
rename to src/Middleware/ResponseCompression/sample/Startup.cs
diff --git a/samples/ResponseCompressionSample/testfile1kb.txt b/src/Middleware/ResponseCompression/sample/testfile1kb.txt
similarity index 100%
rename from samples/ResponseCompressionSample/testfile1kb.txt
rename to src/Middleware/ResponseCompression/sample/testfile1kb.txt
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/BodyWrapperStream.cs b/src/Middleware/ResponseCompression/src/BodyWrapperStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/BodyWrapperStream.cs
rename to src/Middleware/ResponseCompression/src/BodyWrapperStream.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/CompressionProviderCollection.cs b/src/Middleware/ResponseCompression/src/CompressionProviderCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/CompressionProviderCollection.cs
rename to src/Middleware/ResponseCompression/src/CompressionProviderCollection.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/CompressionProviderFactory.cs b/src/Middleware/ResponseCompression/src/CompressionProviderFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/CompressionProviderFactory.cs
rename to src/Middleware/ResponseCompression/src/CompressionProviderFactory.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/GzipCompressionProvider.cs b/src/Middleware/ResponseCompression/src/GzipCompressionProvider.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/GzipCompressionProvider.cs
rename to src/Middleware/ResponseCompression/src/GzipCompressionProvider.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/GzipCompressionProviderOptions.cs b/src/Middleware/ResponseCompression/src/GzipCompressionProviderOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/GzipCompressionProviderOptions.cs
rename to src/Middleware/ResponseCompression/src/GzipCompressionProviderOptions.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/ICompressionProvider.cs b/src/Middleware/ResponseCompression/src/ICompressionProvider.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/ICompressionProvider.cs
rename to src/Middleware/ResponseCompression/src/ICompressionProvider.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/IResponseCompressionProvider.cs b/src/Middleware/ResponseCompression/src/IResponseCompressionProvider.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/IResponseCompressionProvider.cs
rename to src/Middleware/ResponseCompression/src/IResponseCompressionProvider.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/Microsoft.AspNetCore.ResponseCompression.csproj b/src/Middleware/ResponseCompression/src/Microsoft.AspNetCore.ResponseCompression.csproj
similarity index 59%
rename from src/Microsoft.AspNetCore.ResponseCompression/Microsoft.AspNetCore.ResponseCompression.csproj
rename to src/Middleware/ResponseCompression/src/Microsoft.AspNetCore.ResponseCompression.csproj
index e6529613221..1b20b7b4a91 100644
--- a/src/Microsoft.AspNetCore.ResponseCompression/Microsoft.AspNetCore.ResponseCompression.csproj
+++ b/src/Middleware/ResponseCompression/src/Microsoft.AspNetCore.ResponseCompression.csproj
@@ -8,8 +8,8 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="$(MicrosoftAspNetCoreHttpExtensionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Http.Extensions" />
+    <Reference Include="Microsoft.Extensions.Options" />
   </ItemGroup>
 
 </Project>
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/Properties/AssemblyInfo.cs b/src/Middleware/ResponseCompression/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/Properties/AssemblyInfo.cs
rename to src/Middleware/ResponseCompression/src/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionBuilderExtensions.cs b/src/Middleware/ResponseCompression/src/ResponseCompressionBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionBuilderExtensions.cs
rename to src/Middleware/ResponseCompression/src/ResponseCompressionBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionDefaults.cs b/src/Middleware/ResponseCompression/src/ResponseCompressionDefaults.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionDefaults.cs
rename to src/Middleware/ResponseCompression/src/ResponseCompressionDefaults.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionMiddleware.cs b/src/Middleware/ResponseCompression/src/ResponseCompressionMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionMiddleware.cs
rename to src/Middleware/ResponseCompression/src/ResponseCompressionMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionOptions.cs b/src/Middleware/ResponseCompression/src/ResponseCompressionOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionOptions.cs
rename to src/Middleware/ResponseCompression/src/ResponseCompressionOptions.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionProvider.cs b/src/Middleware/ResponseCompression/src/ResponseCompressionProvider.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionProvider.cs
rename to src/Middleware/ResponseCompression/src/ResponseCompressionProvider.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionServicesExtensions.cs b/src/Middleware/ResponseCompression/src/ResponseCompressionServicesExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/ResponseCompressionServicesExtensions.cs
rename to src/Middleware/ResponseCompression/src/ResponseCompressionServicesExtensions.cs
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/baseline.netcore.json b/src/Middleware/ResponseCompression/src/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/baseline.netcore.json
rename to src/Middleware/ResponseCompression/src/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.ResponseCompression/baseline.netframework.json b/src/Middleware/ResponseCompression/src/baseline.netframework.json
similarity index 100%
rename from src/Microsoft.AspNetCore.ResponseCompression/baseline.netframework.json
rename to src/Middleware/ResponseCompression/src/baseline.netframework.json
diff --git a/test/Microsoft.AspNetCore.ResponseCompression.Tests/BodyWrapperStreamTests.cs b/src/Middleware/ResponseCompression/test/BodyWrapperStreamTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.ResponseCompression.Tests/BodyWrapperStreamTests.cs
rename to src/Middleware/ResponseCompression/test/BodyWrapperStreamTests.cs
diff --git a/src/Middleware/ResponseCompression/test/Microsoft.AspNetCore.ResponseCompression.Tests.csproj b/src/Middleware/ResponseCompression/test/Microsoft.AspNetCore.ResponseCompression.Tests.csproj
new file mode 100644
index 00000000000..47cadb7eeb2
--- /dev/null
+++ b/src/Middleware/ResponseCompression/test/Microsoft.AspNetCore.ResponseCompression.Tests.csproj
@@ -0,0 +1,18 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Content Include="testfile1kb.txt" CopyToOutputDirectory="PreserveNewest" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.ResponseCompression" />
+    <Reference Include="Microsoft.AspNetCore.Http" />
+    <Reference Include="Microsoft.Net.Http.Headers" />
+    <Reference Include="Moq" />
+  </ItemGroup>
+
+</Project>
diff --git a/test/Microsoft.AspNetCore.ResponseCompression.Tests/ResponseCompressionMiddlewareTest.cs b/src/Middleware/ResponseCompression/test/ResponseCompressionMiddlewareTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.ResponseCompression.Tests/ResponseCompressionMiddlewareTest.cs
rename to src/Middleware/ResponseCompression/test/ResponseCompressionMiddlewareTest.cs
diff --git a/test/Microsoft.AspNetCore.ResponseCompression.Tests/testfile1kb.txt b/src/Middleware/ResponseCompression/test/testfile1kb.txt
similarity index 100%
rename from test/Microsoft.AspNetCore.ResponseCompression.Tests/testfile1kb.txt
rename to src/Middleware/ResponseCompression/test/testfile1kb.txt
diff --git a/samples/RewriteSample/Properties/launchSettings.json b/src/Middleware/Rewrite/sample/Properties/launchSettings.json
similarity index 100%
rename from samples/RewriteSample/Properties/launchSettings.json
rename to src/Middleware/Rewrite/sample/Properties/launchSettings.json
diff --git a/samples/RewriteSample/Rewrite.txt b/src/Middleware/Rewrite/sample/Rewrite.txt
similarity index 100%
rename from samples/RewriteSample/Rewrite.txt
rename to src/Middleware/Rewrite/sample/Rewrite.txt
diff --git a/src/Middleware/Rewrite/sample/RewriteSample.csproj b/src/Middleware/Rewrite/sample/RewriteSample.csproj
new file mode 100644
index 00000000000..310e7d676a1
--- /dev/null
+++ b/src/Middleware/Rewrite/sample/RewriteSample.csproj
@@ -0,0 +1,13 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Rewrite" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Https" />
+  </ItemGroup>
+
+</Project>
diff --git a/samples/RewriteSample/Startup.cs b/src/Middleware/Rewrite/sample/Startup.cs
similarity index 100%
rename from samples/RewriteSample/Startup.cs
rename to src/Middleware/Rewrite/sample/Startup.cs
diff --git a/samples/RewriteSample/UrlRewrite.xml b/src/Middleware/Rewrite/sample/UrlRewrite.xml
similarity index 100%
rename from samples/RewriteSample/UrlRewrite.xml
rename to src/Middleware/Rewrite/sample/UrlRewrite.xml
diff --git a/samples/RewriteSample/testCert.pfx b/src/Middleware/Rewrite/sample/testCert.pfx
similarity index 100%
rename from samples/RewriteSample/testCert.pfx
rename to src/Middleware/Rewrite/sample/testCert.pfx
diff --git a/src/Microsoft.AspNetCore.Rewrite/ApacheModRewriteOptionsExtensions.cs b/src/Middleware/Rewrite/src/ApacheModRewriteOptionsExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/ApacheModRewriteOptionsExtensions.cs
rename to src/Middleware/Rewrite/src/ApacheModRewriteOptionsExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Extensions/RewriteMiddlewareLoggingExtensions.cs b/src/Middleware/Rewrite/src/Extensions/RewriteMiddlewareLoggingExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Extensions/RewriteMiddlewareLoggingExtensions.cs
rename to src/Middleware/Rewrite/src/Extensions/RewriteMiddlewareLoggingExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/IISUrlRewriteOptionsExtensions.cs b/src/Middleware/Rewrite/src/IISUrlRewriteOptionsExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/IISUrlRewriteOptionsExtensions.cs
rename to src/Middleware/Rewrite/src/IISUrlRewriteOptionsExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/IRule.cs b/src/Middleware/Rewrite/src/IRule.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/IRule.cs
rename to src/Middleware/Rewrite/src/IRule.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ApacheModRewriteRule.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ApacheModRewriteRule.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ApacheModRewriteRule.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ApacheModRewriteRule.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/Condition.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/Condition.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/Condition.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/Condition.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ConditionEvaluator.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ConditionEvaluator.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ConditionEvaluator.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ConditionEvaluator.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ConditionPatternParser.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ConditionPatternParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ConditionPatternParser.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ConditionPatternParser.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ConditionType.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ConditionType.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ConditionType.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ConditionType.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/CookieActionFactory.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/CookieActionFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/CookieActionFactory.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/CookieActionFactory.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FileParser.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/FileParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FileParser.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/FileParser.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FlagParser.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/FlagParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FlagParser.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/FlagParser.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FlagType.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/FlagType.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FlagType.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/FlagType.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/Flags.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/Flags.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/Flags.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/Flags.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/OperationType.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/OperationType.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/OperationType.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/OperationType.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ParsedModRewriteCondition.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ParsedModRewriteCondition.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ParsedModRewriteCondition.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ParsedModRewriteCondition.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/RuleBuilder.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/RuleBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/RuleBuilder.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/RuleBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/RuleRegexParser.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/RuleRegexParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/RuleRegexParser.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/RuleRegexParser.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/SegmentType.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/SegmentType.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/SegmentType.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/SegmentType.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ServerVariables.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ServerVariables.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ServerVariables.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/ServerVariables.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/TestStringParser.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/TestStringParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/TestStringParser.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/TestStringParser.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/Tokenizer.cs b/src/Middleware/Rewrite/src/Internal/ApacheModRewrite/Tokenizer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/Tokenizer.cs
rename to src/Middleware/Rewrite/src/Internal/ApacheModRewrite/Tokenizer.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/BackReferenceCollection.cs b/src/Middleware/Rewrite/src/Internal/BackReferenceCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/BackReferenceCollection.cs
rename to src/Middleware/Rewrite/src/Internal/BackReferenceCollection.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/DelegateRule.cs b/src/Middleware/Rewrite/src/Internal/DelegateRule.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/DelegateRule.cs
rename to src/Middleware/Rewrite/src/Internal/DelegateRule.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/ActionType.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/ActionType.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/ActionType.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/ActionType.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/Condition.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/Condition.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/Condition.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/Condition.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/ConditionCollection.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/ConditionCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/ConditionCollection.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/ConditionCollection.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/ConditionEvaluator.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/ConditionEvaluator.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/ConditionEvaluator.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/ConditionEvaluator.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISRewriteMap.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/IISRewriteMap.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISRewriteMap.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/IISRewriteMap.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISRewriteMapCollection.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/IISRewriteMapCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISRewriteMapCollection.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/IISRewriteMapCollection.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISUrlRewriteRule.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/IISUrlRewriteRule.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISUrlRewriteRule.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/IISUrlRewriteRule.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/InputParser.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/InputParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/InputParser.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/InputParser.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/InvalidUrlRewriteFormatException.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/InvalidUrlRewriteFormatException.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/InvalidUrlRewriteFormatException.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/InvalidUrlRewriteFormatException.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/LogicalGrouping.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/LogicalGrouping.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/LogicalGrouping.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/LogicalGrouping.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/MatchType.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/MatchType.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/MatchType.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/MatchType.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/PatternSyntax.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/PatternSyntax.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/PatternSyntax.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/PatternSyntax.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RedirectType.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/RedirectType.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RedirectType.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/RedirectType.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RewriteMapParser.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/RewriteMapParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RewriteMapParser.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/RewriteMapParser.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RewriteTags.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/RewriteTags.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RewriteTags.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/RewriteTags.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/ServerVariables.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/ServerVariables.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/ServerVariables.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/ServerVariables.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UriMatchCondition.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/UriMatchCondition.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UriMatchCondition.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/UriMatchCondition.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UriMatchPart.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/UriMatchPart.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UriMatchPart.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/UriMatchPart.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteFileParser.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/UrlRewriteFileParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteFileParser.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/UrlRewriteFileParser.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs b/src/Middleware/Rewrite/src/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs
rename to src/Middleware/Rewrite/src/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/MatchResults.cs b/src/Middleware/Rewrite/src/Internal/MatchResults.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/MatchResults.cs
rename to src/Middleware/Rewrite/src/Internal/MatchResults.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ParserContext.cs b/src/Middleware/Rewrite/src/Internal/ParserContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/ParserContext.cs
rename to src/Middleware/Rewrite/src/Internal/ParserContext.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/Pattern.cs b/src/Middleware/Rewrite/src/Internal/Pattern.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/Pattern.cs
rename to src/Middleware/Rewrite/src/Internal/Pattern.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/ConditionMatchSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/ConditionMatchSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/ConditionMatchSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/ConditionMatchSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/DateTimeSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/DateTimeSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/DateTimeSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/DateTimeSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/HeaderSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/HeaderSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/HeaderSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/HeaderSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/IsHttpsModSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/IsHttpsModSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/IsHttpsModSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/IsHttpsModSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/IsHttpsUrlSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/IsHttpsUrlSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/IsHttpsUrlSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/IsHttpsUrlSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/IsIPV6Segment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/IsIPV6Segment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/IsIPV6Segment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/IsIPV6Segment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/LiteralSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/LiteralSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/LiteralSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/LiteralSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/LocalAddressSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/LocalAddressSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/LocalAddressSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/LocalAddressSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/LocalPortSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/LocalPortSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/LocalPortSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/LocalPortSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/QueryStringSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/QueryStringSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/QueryStringSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/QueryStringSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RemoteAddressSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/RemoteAddressSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RemoteAddressSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/RemoteAddressSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RemotePortSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/RemotePortSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RemotePortSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/RemotePortSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RequestFilenameSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/RequestFilenameSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RequestFilenameSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/RequestFilenameSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RequestMethodSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/RequestMethodSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RequestMethodSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/RequestMethodSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RewriteMapSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/RewriteMapSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RewriteMapSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/RewriteMapSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RuleMatchSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/RuleMatchSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/RuleMatchSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/RuleMatchSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/SchemeSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/SchemeSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/SchemeSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/SchemeSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/ServerProtocolSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/ServerProtocolSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/ServerProtocolSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/ServerProtocolSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/ToLowerSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/ToLowerSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/ToLowerSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/ToLowerSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/UrlEncodeSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/UrlEncodeSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/UrlEncodeSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/UrlEncodeSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/UrlSegment.cs b/src/Middleware/Rewrite/src/Internal/PatternSegments/UrlSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/PatternSegments/UrlSegment.cs
rename to src/Middleware/Rewrite/src/Internal/PatternSegments/UrlSegment.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectRule.cs b/src/Middleware/Rewrite/src/Internal/RedirectRule.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/RedirectRule.cs
rename to src/Middleware/Rewrite/src/Internal/RedirectRule.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectToHttpsRule.cs b/src/Middleware/Rewrite/src/Internal/RedirectToHttpsRule.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/RedirectToHttpsRule.cs
rename to src/Middleware/Rewrite/src/Internal/RedirectToHttpsRule.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectToWwwRule.cs b/src/Middleware/Rewrite/src/Internal/RedirectToWwwRule.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/RedirectToWwwRule.cs
rename to src/Middleware/Rewrite/src/Internal/RedirectToWwwRule.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/RewriteRule.cs b/src/Middleware/Rewrite/src/Internal/RewriteRule.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/RewriteRule.cs
rename to src/Middleware/Rewrite/src/Internal/RewriteRule.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlAction.cs b/src/Middleware/Rewrite/src/Internal/UrlAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/AbortAction.cs b/src/Middleware/Rewrite/src/Internal/UrlActions/AbortAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/AbortAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlActions/AbortAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/ChangeCookieAction.cs b/src/Middleware/Rewrite/src/Internal/UrlActions/ChangeCookieAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/ChangeCookieAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlActions/ChangeCookieAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/CustomResponseAction.cs b/src/Middleware/Rewrite/src/Internal/UrlActions/CustomResponseAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/CustomResponseAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlActions/CustomResponseAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/ForbiddenAction.cs b/src/Middleware/Rewrite/src/Internal/UrlActions/ForbiddenAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/ForbiddenAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlActions/ForbiddenAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/GoneAction.cs b/src/Middleware/Rewrite/src/Internal/UrlActions/GoneAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/GoneAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlActions/GoneAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/NoneAction.cs b/src/Middleware/Rewrite/src/Internal/UrlActions/NoneAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/NoneAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlActions/NoneAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs b/src/Middleware/Rewrite/src/Internal/UrlActions/RedirectAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlActions/RedirectAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RewriteAction.cs b/src/Middleware/Rewrite/src/Internal/UrlActions/RewriteAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RewriteAction.cs
rename to src/Middleware/Rewrite/src/Internal/UrlActions/RewriteAction.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatch.cs b/src/Middleware/Rewrite/src/Internal/UrlMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatch.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatch.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/ExactMatch.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/ExactMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/ExactMatch.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/ExactMatch.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/FileSizeMatch.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/FileSizeMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/FileSizeMatch.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/FileSizeMatch.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/IntegerMatch.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/IntegerMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/IntegerMatch.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/IntegerMatch.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/IntegerOperation.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/IntegerOperation.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/IntegerOperation.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/IntegerOperation.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/IsDirectoryMatch.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/IsDirectoryMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/IsDirectoryMatch.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/IsDirectoryMatch.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/IsFileMatch.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/IsFileMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/IsFileMatch.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/IsFileMatch.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/RegexMatch.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/RegexMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/RegexMatch.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/RegexMatch.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/StringMatch.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/StringMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/StringMatch.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/StringMatch.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/StringOperation.cs b/src/Middleware/Rewrite/src/Internal/UrlMatches/StringOperation.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Internal/UrlMatches/StringOperation.cs
rename to src/Middleware/Rewrite/src/Internal/UrlMatches/StringOperation.cs
diff --git a/src/Middleware/Rewrite/src/Microsoft.AspNetCore.Rewrite.csproj b/src/Middleware/Rewrite/src/Microsoft.AspNetCore.Rewrite.csproj
new file mode 100644
index 00000000000..48a6e913f52
--- /dev/null
+++ b/src/Middleware/Rewrite/src/Microsoft.AspNetCore.Rewrite.csproj
@@ -0,0 +1,23 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <Description>ASP.NET Core basic middleware for rewriting URLs. Includes:
+* Support for custom URL rewrite rules
+* Support for running IIS URL Rewrite module rules
+* Support for running Apache mod_rewrite rules.</Description>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <NoWarn>$(NoWarn);CS1591</NoWarn>
+    <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <PackageTags>aspnetcore;urlrewrite;mod_rewrite</PackageTags>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.Http.Extensions" />
+    <Reference Include="Microsoft.Extensions.Configuration.Abstractions" />
+    <Reference Include="Microsoft.Extensions.FileProviders.Abstractions" />
+    <Reference Include="Microsoft.Extensions.Logging.Abstractions" />
+    <Reference Include="Microsoft.Extensions.Options" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Microsoft.AspNetCore.Rewrite/Properties/AssemblyInfo.cs b/src/Middleware/Rewrite/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Properties/AssemblyInfo.cs
rename to src/Middleware/Rewrite/src/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Properties/Resources.Designer.cs b/src/Middleware/Rewrite/src/Properties/Resources.Designer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Properties/Resources.Designer.cs
rename to src/Middleware/Rewrite/src/Properties/Resources.Designer.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/Resources.resx b/src/Middleware/Rewrite/src/Resources.resx
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/Resources.resx
rename to src/Middleware/Rewrite/src/Resources.resx
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteBuilderExtensions.cs b/src/Middleware/Rewrite/src/RewriteBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/RewriteBuilderExtensions.cs
rename to src/Middleware/Rewrite/src/RewriteBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteContext.cs b/src/Middleware/Rewrite/src/RewriteContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/RewriteContext.cs
rename to src/Middleware/Rewrite/src/RewriteContext.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteMiddleware.cs b/src/Middleware/Rewrite/src/RewriteMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/RewriteMiddleware.cs
rename to src/Middleware/Rewrite/src/RewriteMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteOptions.cs b/src/Middleware/Rewrite/src/RewriteOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/RewriteOptions.cs
rename to src/Middleware/Rewrite/src/RewriteOptions.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs b/src/Middleware/Rewrite/src/RewriteOptionsExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs
rename to src/Middleware/Rewrite/src/RewriteOptionsExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/RuleResult.cs b/src/Middleware/Rewrite/src/RuleResult.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/RuleResult.cs
rename to src/Middleware/Rewrite/src/RuleResult.cs
diff --git a/src/Microsoft.AspNetCore.Rewrite/baseline.netcore.json b/src/Middleware/Rewrite/src/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.Rewrite/baseline.netcore.json
rename to src/Middleware/Rewrite/src/baseline.netcore.json
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/ConditionPatternParserTest.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/ConditionPatternParserTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/ConditionPatternParserTest.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/ConditionPatternParserTest.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/CookieActionFactoryTest.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/CookieActionFactoryTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/CookieActionFactoryTest.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/CookieActionFactoryTest.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/FlagParserTest.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/FlagParserTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/FlagParserTest.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/FlagParserTest.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/FormatExceptionTests.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/FormatExceptionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/FormatExceptionTests.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/FormatExceptionTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/ModRewriteMiddlewareTest.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/ModRewriteMiddlewareTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/ModRewriteMiddlewareTest.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/ModRewriteMiddlewareTest.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/RewriteTokenizerTest.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/RewriteTokenizerTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/RewriteTokenizerTest.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/RewriteTokenizerTest.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/RuleBuilderTest.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/RuleBuilderTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/RuleBuilderTest.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/RuleBuilderTest.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/RuleRegexParserTest.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/RuleRegexParserTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/RuleRegexParserTest.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/RuleRegexParserTest.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/TestStringParserTests.cs b/src/Middleware/Rewrite/test/ApacheModRewrite/TestStringParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/TestStringParserTests.cs
rename to src/Middleware/Rewrite/test/ApacheModRewrite/TestStringParserTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/FileParserTests.cs b/src/Middleware/Rewrite/test/IISUrlRewrite/FileParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/FileParserTests.cs
rename to src/Middleware/Rewrite/test/IISUrlRewrite/FileParserTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/FormatExceptionHandlingTests.cs b/src/Middleware/Rewrite/test/IISUrlRewrite/FormatExceptionHandlingTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/FormatExceptionHandlingTests.cs
rename to src/Middleware/Rewrite/test/IISUrlRewrite/FormatExceptionHandlingTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/InputParserTests.cs b/src/Middleware/Rewrite/test/IISUrlRewrite/InputParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/InputParserTests.cs
rename to src/Middleware/Rewrite/test/IISUrlRewrite/InputParserTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/InvalidUrlRewriteFormatExceptionHandlingTests.cs b/src/Middleware/Rewrite/test/IISUrlRewrite/InvalidUrlRewriteFormatExceptionHandlingTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/InvalidUrlRewriteFormatExceptionHandlingTests.cs
rename to src/Middleware/Rewrite/test/IISUrlRewrite/InvalidUrlRewriteFormatExceptionHandlingTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/MiddleWareTests.cs b/src/Middleware/Rewrite/test/IISUrlRewrite/MiddleWareTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/MiddleWareTests.cs
rename to src/Middleware/Rewrite/test/IISUrlRewrite/MiddleWareTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/RewriteMapParserTests.cs b/src/Middleware/Rewrite/test/IISUrlRewrite/RewriteMapParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/RewriteMapParserTests.cs
rename to src/Middleware/Rewrite/test/IISUrlRewrite/RewriteMapParserTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/ServerVariableTests.cs b/src/Middleware/Rewrite/test/IISUrlRewrite/ServerVariableTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/ServerVariableTests.cs
rename to src/Middleware/Rewrite/test/IISUrlRewrite/ServerVariableTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/UrlRewriteApplicationTests.cs b/src/Middleware/Rewrite/test/IISUrlRewrite/UrlRewriteApplicationTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/UrlRewriteApplicationTests.cs
rename to src/Middleware/Rewrite/test/IISUrlRewrite/UrlRewriteApplicationTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/Microsoft.AspNetCore.Rewrite.Tests.csproj b/src/Middleware/Rewrite/test/Microsoft.AspNetCore.Rewrite.Tests.csproj
similarity index 61%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/Microsoft.AspNetCore.Rewrite.Tests.csproj
rename to src/Middleware/Rewrite/test/Microsoft.AspNetCore.Rewrite.Tests.csproj
index ef02b99631e..1593497c619 100644
--- a/test/Microsoft.AspNetCore.Rewrite.Tests/Microsoft.AspNetCore.Rewrite.Tests.csproj
+++ b/src/Middleware/Rewrite/test/Microsoft.AspNetCore.Rewrite.Tests.csproj
@@ -5,7 +5,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Rewrite\Microsoft.AspNetCore.Rewrite.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Rewrite" />
   </ItemGroup>
 
 </Project>
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/MiddlewareTests.cs b/src/Middleware/Rewrite/test/MiddlewareTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/MiddlewareTests.cs
rename to src/Middleware/Rewrite/test/MiddlewareTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/ConditionMatchSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/ConditionMatchSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/ConditionMatchSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/ConditionMatchSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/DateTimeSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/DateTimeSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/DateTimeSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/DateTimeSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/HeaderSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/HeaderSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/HeaderSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/HeaderSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/IsHttpsModSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/IsHttpsModSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/IsHttpsModSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/IsHttpsModSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/IsHttpsSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/IsHttpsSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/IsHttpsSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/IsHttpsSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/IsIPV6SegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/IsIPV6SegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/IsIPV6SegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/IsIPV6SegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/LIteralSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/LIteralSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/LIteralSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/LIteralSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/LocalAddressSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/LocalAddressSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/LocalAddressSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/LocalAddressSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/LocalPortSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/LocalPortSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/LocalPortSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/LocalPortSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/QueryStringSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/QueryStringSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/QueryStringSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/QueryStringSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RemoteAddressSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/RemoteAddressSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RemoteAddressSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/RemoteAddressSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RemotePortSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/RemotePortSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RemotePortSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/RemotePortSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RequestFilenameSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/RequestFilenameSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RequestFilenameSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/RequestFilenameSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RequestMethodSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/RequestMethodSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RequestMethodSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/RequestMethodSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RuleMatchSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/RuleMatchSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/RuleMatchSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/RuleMatchSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/SchemeSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/SchemeSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/SchemeSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/SchemeSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/ServerProtocolSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/ServerProtocolSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/ServerProtocolSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/ServerProtocolSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/ToLowerSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/ToLowerSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/ToLowerSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/ToLowerSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/UrlEncodeSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/UrlEncodeSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/UrlEncodeSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/UrlEncodeSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/UrlSegmentTests.cs b/src/Middleware/Rewrite/test/PatternSegments/UrlSegmentTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/PatternSegments/UrlSegmentTests.cs
rename to src/Middleware/Rewrite/test/PatternSegments/UrlSegmentTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/AbortActionTests.cs b/src/Middleware/Rewrite/test/UrlActions/AbortActionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/AbortActionTests.cs
rename to src/Middleware/Rewrite/test/UrlActions/AbortActionTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/ChangeCookieActionTests.cs b/src/Middleware/Rewrite/test/UrlActions/ChangeCookieActionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/ChangeCookieActionTests.cs
rename to src/Middleware/Rewrite/test/UrlActions/ChangeCookieActionTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/ForbiddenActionTests.cs b/src/Middleware/Rewrite/test/UrlActions/ForbiddenActionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/ForbiddenActionTests.cs
rename to src/Middleware/Rewrite/test/UrlActions/ForbiddenActionTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/GoneActionTests.cs b/src/Middleware/Rewrite/test/UrlActions/GoneActionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/GoneActionTests.cs
rename to src/Middleware/Rewrite/test/UrlActions/GoneActionTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlMatches/ExactMatchTests.cs b/src/Middleware/Rewrite/test/UrlMatches/ExactMatchTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/UrlMatches/ExactMatchTests.cs
rename to src/Middleware/Rewrite/test/UrlMatches/ExactMatchTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlMatches/IntegerMatchTests.cs b/src/Middleware/Rewrite/test/UrlMatches/IntegerMatchTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/UrlMatches/IntegerMatchTests.cs
rename to src/Middleware/Rewrite/test/UrlMatches/IntegerMatchTests.cs
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlMatches/StringMatchTests.cs b/src/Middleware/Rewrite/test/UrlMatches/StringMatchTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Rewrite.Tests/UrlMatches/StringMatchTests.cs
rename to src/Middleware/Rewrite/test/UrlMatches/StringMatchTests.cs
diff --git a/test/Directory.Build.props b/test/Directory.Build.props
deleted file mode 100644
index b936409242d..00000000000
--- a/test/Directory.Build.props
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-
-  <PropertyGroup>
-    <DeveloperBuildTestTfms>netcoreapp2.1</DeveloperBuildTestTfms>
-    <StandardTestTfms>$(DeveloperBuildTestTfms)</StandardTestTfms>
-    <StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' ">netcoreapp2.1;netcoreapp2.0</StandardTestTfms>
-    <StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' AND '$(OS)' == 'Windows_NT' ">$(StandardTestTfms);net461</StandardTestTfms>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="$(MicrosoftAspNetCoreTestHostPackageVersion)" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
-    <PackageReference Include="xunit.analyzers" Version="$(XunitAnalyzersPackageVersion)" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="$(XunitRunnerVisualStudioPackageVersion)" />
-    <PackageReference Include="xunit" Version="$(XunitPackageVersion)" />
-  </ItemGroup>
-</Project>
diff --git a/test/Microsoft.AspNetCore.Buffering.Tests/ResponseBufferingMiddlewareTests.cs b/test/Microsoft.AspNetCore.Buffering.Tests/ResponseBufferingMiddlewareTests.cs
deleted file mode 100644
index 81aa993e984..00000000000
--- a/test/Microsoft.AspNetCore.Buffering.Tests/ResponseBufferingMiddlewareTests.cs
+++ /dev/null
@@ -1,315 +0,0 @@
-// 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.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Http.Features;
-using Microsoft.AspNetCore.TestHost;
-using Xunit;
-
-namespace Microsoft.AspNetCore.Buffering.Tests
-{
-    public class ResponseBufferingMiddlewareTests
-    {
-        [Fact]
-        public async Task BufferResponse_SetsContentLength()
-        {
-            var builder = new WebHostBuilder()
-                .Configure(app =>
-                {
-                    app.UseResponseBuffering();
-                    app.Run(async context =>
-                    {
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-                        await context.Response.WriteAsync("Hello World");
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-                    });
-                });
-            var server = new TestServer(builder);
-
-            var response = await server.CreateClient().GetAsync("");
-            response.EnsureSuccessStatusCode();
-            Assert.Equal("Hello World", await response.Content.ReadAsStringAsync());
-
-            // Set automatically by buffer
-            IEnumerable<string> values;
-            Assert.True(response.Content.Headers.TryGetValues("Content-Length", out values));
-            Assert.Equal("11", values.FirstOrDefault());
-        }
-
-        [Fact]
-        public async Task BufferResponseWithManualContentLength_NotReplaced()
-        {
-            var builder = new WebHostBuilder()
-                .Configure(app =>
-                {
-                    app.UseResponseBuffering();
-                    app.Run(async context =>
-                    {
-                        context.Response.ContentLength = 12;
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-                        await context.Response.WriteAsync("Hello World");
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-                    });
-                });
-            var server = new TestServer(builder);
-
-            var response = await server.CreateClient().GetAsync("");
-            response.EnsureSuccessStatusCode();
-            Assert.Equal("Hello World", await response.Content.ReadAsStringAsync());
-
-            IEnumerable<string> values;
-            Assert.True(response.Content.Headers.TryGetValues("Content-Length", out values));
-            Assert.Equal("12", values.FirstOrDefault());
-        }
-
-        [Fact]
-        public async Task Seek_AllowsResttingBuffer()
-        {
-            var builder = new WebHostBuilder()
-                .Configure(app =>
-                {
-                    app.UseResponseBuffering();
-                    app.Run(async context =>
-                    {
-                        var body = context.Response.Body;
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(body.CanSeek);
-                        Assert.Equal(0, body.Position);
-                        Assert.Equal(0, body.Length);
-
-                        await context.Response.WriteAsync("Hello World");
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-                        Assert.Equal(11, body.Position);
-                        Assert.Equal(11, body.Length);
-
-                        Assert.Throws<ArgumentOutOfRangeException>(() => body.Seek(1, SeekOrigin.Begin));
-                        Assert.Throws<ArgumentException>(() => body.Seek(0, SeekOrigin.Current));
-                        Assert.Throws<ArgumentException>(() => body.Seek(0, SeekOrigin.End));
-
-                        Assert.Equal(0, body.Seek(0, SeekOrigin.Begin));
-                        Assert.Equal(0, body.Position);
-                        Assert.Equal(0, body.Length);
-
-                        await context.Response.WriteAsync("12345");
-                        Assert.Equal(5, body.Position);
-                        Assert.Equal(5, body.Length);
-                    });
-                });
-            var server = new TestServer(builder);
-
-            var response = await server.CreateClient().GetAsync("");
-            response.EnsureSuccessStatusCode();
-            Assert.Equal("12345", await response.Content.ReadAsStringAsync());
-
-            // Set automatically by buffer
-            IEnumerable<string> values;
-            Assert.True(response.Content.Headers.TryGetValues("Content-Length", out values));
-            Assert.Equal("5", values.FirstOrDefault());
-        }
-
-        [Fact]
-        public async Task SetPosition_AllowsResttingBuffer()
-        {
-            var builder = new WebHostBuilder()
-                .Configure(app =>
-                {
-                    app.UseResponseBuffering();
-                    app.Run(async context =>
-                    {
-                        var body = context.Response.Body;
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(body.CanSeek);
-                        Assert.Equal(0, body.Position);
-                        Assert.Equal(0, body.Length);
-
-                        await context.Response.WriteAsync("Hello World");
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-                        Assert.Equal(11, body.Position);
-                        Assert.Equal(11, body.Length);
-
-                        Assert.Throws<ArgumentOutOfRangeException>(() => body.Position = 1);
-
-                        body.Position = 0;
-                        Assert.Equal(0, body.Position);
-                        Assert.Equal(0, body.Length);
-
-                        await context.Response.WriteAsync("12345");
-                        Assert.Equal(5, body.Position);
-                        Assert.Equal(5, body.Length);
-                    });
-                });
-            var server = new TestServer(builder);
-
-            var response = await server.CreateClient().GetAsync("");
-            response.EnsureSuccessStatusCode();
-            Assert.Equal("12345", await response.Content.ReadAsStringAsync());
-
-            // Set automatically by buffer
-            IEnumerable<string> values;
-            Assert.True(response.Content.Headers.TryGetValues("Content-Length", out values));
-            Assert.Equal("5", values.FirstOrDefault());
-        }
-
-        [Fact]
-        public async Task SetLength_AllowsResttingBuffer()
-        {
-            var builder = new WebHostBuilder()
-                .Configure(app =>
-                {
-                    app.UseResponseBuffering();
-                    app.Run(async context =>
-                    {
-                        var body = context.Response.Body;
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(body.CanSeek);
-                        Assert.Equal(0, body.Position);
-                        Assert.Equal(0, body.Length);
-
-                        await context.Response.WriteAsync("Hello World");
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-                        Assert.Equal(11, body.Position);
-                        Assert.Equal(11, body.Length);
-
-                        Assert.Throws<ArgumentOutOfRangeException>(() => body.SetLength(1));
-
-                        body.SetLength(0);
-                        Assert.Equal(0, body.Position);
-                        Assert.Equal(0, body.Length);
-
-                        await context.Response.WriteAsync("12345");
-                        Assert.Equal(5, body.Position);
-                        Assert.Equal(5, body.Length);
-                    });
-                });
-            var server = new TestServer(builder);
-
-            var response = await server.CreateClient().GetAsync("");
-            response.EnsureSuccessStatusCode();
-            Assert.Equal("12345", await response.Content.ReadAsStringAsync());
-
-            // Set automatically by buffer
-            IEnumerable<string> values;
-            Assert.True(response.Content.Headers.TryGetValues("Content-Length", out values));
-            Assert.Equal("5", values.FirstOrDefault());
-        }
-
-        [Fact]
-        public async Task DisableBufferingViaFeature()
-        {
-            var builder = new WebHostBuilder()
-                .Configure(app =>
-                {
-                    app.UseResponseBuffering();
-                    app.Run(async context =>
-                    {
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-
-                        var bufferingFeature = context.Features.Get<IHttpBufferingFeature>();
-                        Assert.NotNull(bufferingFeature);
-                        bufferingFeature.DisableResponseBuffering();
-
-                        Assert.False(context.Response.HasStarted);
-                        Assert.False(context.Response.Body.CanSeek);
-
-                        await context.Response.WriteAsync("Hello World");
-
-                        Assert.True(context.Response.HasStarted);
-                        Assert.False(context.Response.Body.CanSeek);
-                    });
-                });
-            var server = new TestServer(builder);
-
-            var response = await server.CreateClient().GetAsync("");
-            response.EnsureSuccessStatusCode();
-            Assert.Equal("Hello World", await response.Content.ReadAsStringAsync());
-            IEnumerable<string> values;
-            Assert.False(response.Content.Headers.TryGetValues("Content-Length", out values));
-        }
-
-        [Fact]
-        public async Task DisableBufferingViaFeatureAfterFirstWrite_Flushes()
-        {
-            var builder = new WebHostBuilder()
-                .Configure(app =>
-                {
-                    app.UseResponseBuffering();
-                    app.Run(async context =>
-                    {
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-
-                        await context.Response.WriteAsync("Hello");
-
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-
-                        var bufferingFeature = context.Features.Get<IHttpBufferingFeature>();
-                        Assert.NotNull(bufferingFeature);
-                        bufferingFeature.DisableResponseBuffering();
-
-                        Assert.True(context.Response.HasStarted);
-                        Assert.False(context.Response.Body.CanSeek);
-
-                        await context.Response.WriteAsync(" World");
-
-                        Assert.True(context.Response.HasStarted);
-                        Assert.False(context.Response.Body.CanSeek);
-                    });
-                });
-            var server = new TestServer(builder);
-
-            var response = await server.CreateClient().GetAsync("");
-            response.EnsureSuccessStatusCode();
-            Assert.Equal("Hello World", await response.Content.ReadAsStringAsync());
-            IEnumerable<string> values;
-            Assert.False(response.Content.Headers.TryGetValues("Content-Length", out values));
-        }
-
-        [Fact]
-        public async Task FlushDisablesBuffering()
-        {
-            var builder = new WebHostBuilder()
-                .Configure(app =>
-                {
-                    app.UseResponseBuffering();
-                    app.Run(async context =>
-                    {
-                        Assert.False(context.Response.HasStarted);
-                        Assert.True(context.Response.Body.CanSeek);
-
-                        context.Response.Body.Flush();
-
-                        Assert.True(context.Response.HasStarted);
-                        Assert.False(context.Response.Body.CanSeek);
-
-                        await context.Response.WriteAsync("Hello World");
-
-                        Assert.True(context.Response.HasStarted);
-                        Assert.False(context.Response.Body.CanSeek);
-                    });
-                });
-            var server = new TestServer(builder);
-
-            var response = await server.CreateClient().GetAsync("");
-            response.EnsureSuccessStatusCode();
-            Assert.Equal("Hello World", await response.Content.ReadAsStringAsync());
-            IEnumerable<string> values;
-            Assert.False(response.Content.Headers.TryGetValues("Content-Length", out values));
-        }
-    }
-}
diff --git a/test/Microsoft.AspNetCore.HostFiltering.Tests/Microsoft.AspNetCore.HostFiltering.Tests.csproj b/test/Microsoft.AspNetCore.HostFiltering.Tests/Microsoft.AspNetCore.HostFiltering.Tests.csproj
deleted file mode 100644
index 407ecdef0fd..00000000000
--- a/test/Microsoft.AspNetCore.HostFiltering.Tests/Microsoft.AspNetCore.HostFiltering.Tests.csproj
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.HostFiltering\Microsoft.AspNetCore.HostFiltering.csproj" />
-    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="$(MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/test/Microsoft.AspNetCore.HttpOverrides.Tests/Microsoft.AspNetCore.HttpOverrides.Tests.csproj b/test/Microsoft.AspNetCore.HttpOverrides.Tests/Microsoft.AspNetCore.HttpOverrides.Tests.csproj
deleted file mode 100644
index dc9bc780b04..00000000000
--- a/test/Microsoft.AspNetCore.HttpOverrides.Tests/Microsoft.AspNetCore.HttpOverrides.Tests.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.HttpOverrides\Microsoft.AspNetCore.HttpOverrides.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/test/Microsoft.AspNetCore.ResponseCompression.Tests/Microsoft.AspNetCore.ResponseCompression.Tests.csproj b/test/Microsoft.AspNetCore.ResponseCompression.Tests/Microsoft.AspNetCore.ResponseCompression.Tests.csproj
deleted file mode 100644
index 902449b4868..00000000000
--- a/test/Microsoft.AspNetCore.ResponseCompression.Tests/Microsoft.AspNetCore.ResponseCompression.Tests.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Content Include="testfile1kb.txt" CopyToOutputDirectory="PreserveNewest" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.ResponseCompression\Microsoft.AspNetCore.ResponseCompression.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http" Version="$(MicrosoftAspNetCoreHttpPackageVersion)" />
-    <PackageReference Include="Microsoft.Net.Http.Headers" Version="$(MicrosoftNetHttpHeadersPackageVersion)" />
-    <PackageReference Include="Moq" Version="$(MoqPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/version.props b/version.props
deleted file mode 100644
index 6ecf2553b6f..00000000000
--- a/version.props
+++ /dev/null
@@ -1,18 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <VersionPrefix>2.1.1</VersionPrefix>
-    <VersionSuffix>rtm</VersionSuffix>
-    <PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' == 'rtm' ">$(VersionPrefix)</PackageVersion>
-    <PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' != 'rtm' ">$(VersionPrefix)-$(VersionSuffix)-final</PackageVersion>
-    <BuildNumber Condition="'$(BuildNumber)' == ''">t000</BuildNumber>
-    <FeatureBranchVersionPrefix Condition="'$(FeatureBranchVersionPrefix)' == ''">a-</FeatureBranchVersionPrefix>
-    <VersionSuffix Condition="'$(VersionSuffix)' != '' And '$(FeatureBranchVersionSuffix)' != ''">$(FeatureBranchVersionPrefix)$(VersionSuffix)-$([System.Text.RegularExpressions.Regex]::Replace('$(FeatureBranchVersionSuffix)', '[^\w-]', '-'))</VersionSuffix>
-    <VersionSuffix Condition="'$(VersionSuffix)' != '' And '$(BuildNumber)' != ''">$(VersionSuffix)-$(BuildNumber)</VersionSuffix>
-
-    <ExperimentalVersionPrefix>0.4.1</ExperimentalVersionPrefix>
-    <ExperimentalVersionSuffix>rtm</ExperimentalVersionSuffix>
-    <ExperimentalPackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(ExperimentalVersionSuffix)' == 'rtm' ">$(ExperimentalVersionPrefix)</ExperimentalPackageVersion>
-    <ExperimentalPackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(ExperimentalVersionSuffix)' != 'rtm' ">$(ExperimentalVersionPrefix)-$(ExperimentalVersionSuffix)-final</ExperimentalPackageVersion>
-    <ExperimentalVersionSuffix Condition="'$(ExperimentalVersionSuffix)' != '' And '$(BuildNumber)' != ''">$(ExperimentalVersionSuffix)-$(BuildNumber)</ExperimentalVersionSuffix>
-  </PropertyGroup>
-</Project>
-- 
GitLab