Use new HttpContext.Features API.
This commit is contained in:
parent
d448c6e389
commit
adae42b66f
|
|
@ -162,14 +162,14 @@ namespace Microsoft.AspNet.Hosting.Internal
|
|||
|
||||
private string GetRequestIdentifier(HttpContext httpContext)
|
||||
{
|
||||
var requestIdentifierFeature = httpContext.GetFeature<IHttpRequestIdentifierFeature>();
|
||||
var requestIdentifierFeature = httpContext.Features.Get<IHttpRequestIdentifierFeature>();
|
||||
if (requestIdentifierFeature == null)
|
||||
{
|
||||
requestIdentifierFeature = new HttpRequestIdentifierFeature()
|
||||
{
|
||||
TraceIdentifier = Guid.NewGuid().ToString()
|
||||
};
|
||||
httpContext.SetFeature(requestIdentifierFeature);
|
||||
httpContext.Features.Set(requestIdentifierFeature);
|
||||
}
|
||||
|
||||
return requestIdentifierFeature.TraceIdentifier;
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ namespace Microsoft.AspNet.TestHost
|
|||
{
|
||||
try
|
||||
{
|
||||
await _next(state.FeatureCollection);
|
||||
await _next(state.HttpContext.Features);
|
||||
state.CompleteResponse();
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -108,11 +108,10 @@ namespace Microsoft.AspNet.TestHost
|
|||
request.Headers.Host = request.RequestUri.GetComponents(UriComponents.HostAndPort, UriFormat.UriEscaped);
|
||||
}
|
||||
|
||||
FeatureCollection = new FeatureCollection();
|
||||
HttpContext = new DefaultHttpContext(FeatureCollection);
|
||||
HttpContext.SetFeature<IHttpRequestFeature>(new RequestFeature());
|
||||
HttpContext = new DefaultHttpContext();
|
||||
HttpContext.Features.Set<IHttpRequestFeature>(new RequestFeature());
|
||||
_responseFeature = new ResponseFeature();
|
||||
HttpContext.SetFeature<IHttpResponseFeature>(_responseFeature);
|
||||
HttpContext.Features.Set<IHttpResponseFeature>(_responseFeature);
|
||||
var serverRequest = HttpContext.Request;
|
||||
serverRequest.Protocol = "HTTP/" + request.Version.ToString(2);
|
||||
serverRequest.Scheme = request.RequestUri.Scheme;
|
||||
|
|
@ -154,8 +153,6 @@ namespace Microsoft.AspNet.TestHost
|
|||
|
||||
public HttpContext HttpContext { get; private set; }
|
||||
|
||||
public IFeatureCollection FeatureCollection { get; private set; }
|
||||
|
||||
public Task<HttpResponseMessage> ResponseTask
|
||||
{
|
||||
get { return _responseTcs.Task; }
|
||||
|
|
@ -180,7 +177,7 @@ namespace Microsoft.AspNet.TestHost
|
|||
|
||||
var response = new HttpResponseMessage();
|
||||
response.StatusCode = (HttpStatusCode)HttpContext.Response.StatusCode;
|
||||
response.ReasonPhrase = HttpContext.GetFeature<IHttpResponseFeature>().ReasonPhrase;
|
||||
response.ReasonPhrase = HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase;
|
||||
response.RequestMessage = _request;
|
||||
// response.Version = owinResponse.Protocol;
|
||||
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ namespace Microsoft.AspNet.Hosting
|
|||
|
||||
// Assert
|
||||
Assert.NotNull(httpContext);
|
||||
Assert.IsType<HttpRequestIdentifierFeature>(httpContext.GetFeature<IHttpRequestIdentifierFeature>());
|
||||
Assert.IsType<HttpRequestIdentifierFeature>(httpContext.Features.Get<IHttpRequestIdentifierFeature>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -264,7 +264,7 @@ namespace Microsoft.AspNet.Hosting
|
|||
|
||||
// Assert
|
||||
Assert.NotNull(httpContext);
|
||||
Assert.IsType<HttpRequestIdentifierFeature>(httpContext.GetFeature<IHttpRequestIdentifierFeature>());
|
||||
Assert.IsType<HttpRequestIdentifierFeature>(httpContext.Features.Get<IHttpRequestIdentifierFeature>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -286,7 +286,7 @@ namespace Microsoft.AspNet.Hosting
|
|||
|
||||
// Assert
|
||||
Assert.NotNull(httpContext);
|
||||
Assert.Same(requestIdentifierFeature, httpContext.GetFeature<IHttpRequestIdentifierFeature>());
|
||||
Assert.Same(requestIdentifierFeature, httpContext.Features.Get<IHttpRequestIdentifierFeature>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNet.Hosting.Builder;
|
||||
using Microsoft.AspNet.Http.Features;
|
||||
using Microsoft.AspNet.Owin;
|
||||
using Xunit;
|
||||
|
||||
|
|
@ -18,8 +19,8 @@ namespace Microsoft.AspNet.Hosting.Tests
|
|||
var context = contextFactory.CreateHttpContext(new OwinFeatureCollection(env));
|
||||
|
||||
// Setting a feature will throw if the above feature collection is not wrapped in a mutable feature collection.
|
||||
context.SetFeature<ICustomFeature>(new CustomFeature(100));
|
||||
Assert.Equal(100, context.GetFeature<ICustomFeature>().Value);
|
||||
context.Features.Set<ICustomFeature>(new CustomFeature(100));
|
||||
Assert.Equal(100, context.Features.Get<ICustomFeature>().Value);
|
||||
}
|
||||
|
||||
private interface ICustomFeature
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ namespace Microsoft.AspNet.TestHost
|
|||
Assert.NotNull(context.Response.Headers);
|
||||
Assert.NotNull(context.Response.Body);
|
||||
Assert.Equal(200, context.Response.StatusCode);
|
||||
Assert.Null(context.GetFeature<IHttpResponseFeature>().ReasonPhrase);
|
||||
Assert.Null(context.Features.Get<IHttpResponseFeature>().ReasonPhrase);
|
||||
Assert.Equal("example.com", context.Request.Host.Value);
|
||||
|
||||
return Task.FromResult(0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue