Implement HttpContext against Core HttpContext #427
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change starts plumbing ASP.NET Core HttpContext through the HttpContext
and sets up the caching mechanism used to ensure only a single instance
of the HttpContext is created per context.
Conversion between the adapters and core types are provided via both
implicit operators as well as extension methods that get or unwrap the
adapters. The HttpContext adapter is stored in the core
HttpContext.Features so that only a single instance is used for each
instance of the core context. The additional members (such as .Request
or .Response) are cached within the adapters and only created on demand.
This change also includes the HttpContextWrapper, HttpRequestWrapper,
and HttpResponseWrapper which are converted and stored in a similar way
as to the HttpContext adapter.