Use new HttpContext.Features API.

This commit is contained in:
Chris R 2015-08-31 07:31:43 -07:00
parent 1f596abfe5
commit 195e06970a
7 changed files with 40 additions and 40 deletions

View File

@ -85,7 +85,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpsServer(async env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var tls = httpContext.GetFeature<ITlsConnectionFeature>();
var tls = httpContext.Features.Get<ITlsConnectionFeature>();
Assert.NotNull(tls);
var cert = await tls.GetClientCertificateAsync(CancellationToken.None);
Assert.Null(cert);
@ -103,7 +103,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpsServer(async env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var tls = httpContext.GetFeature<ITlsConnectionFeature>();
var tls = httpContext.Features.Get<ITlsConnectionFeature>();
Assert.NotNull(tls);
var cert = await tls.GetClientCertificateAsync(CancellationToken.None);
Assert.NotNull(cert);

View File

@ -42,7 +42,7 @@ namespace Microsoft.AspNet.Server.WebListener
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
try
{
var opaqueFeature = httpContext.GetFeature<IHttpUpgradeFeature>();
var opaqueFeature = httpContext.Features.Get<IHttpUpgradeFeature>();
Assert.NotNull(opaqueFeature);
}
catch (Exception ex)
@ -73,7 +73,7 @@ namespace Microsoft.AspNet.Server.WebListener
await httpContext.Response.Body.FlushAsync();
try
{
var opaqueFeature = httpContext.GetFeature<IHttpUpgradeFeature>();
var opaqueFeature = httpContext.Features.Get<IHttpUpgradeFeature>();
Assert.NotNull(opaqueFeature);
await opaqueFeature.UpgradeAsync();
upgradeThrew = false;
@ -102,7 +102,7 @@ namespace Microsoft.AspNet.Server.WebListener
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
httpContext.Response.Headers["Upgrade"] = "websocket"; // Win8.1 blocks anything but WebSockets
var opaqueFeature = httpContext.GetFeature<IHttpUpgradeFeature>();
var opaqueFeature = httpContext.Features.Get<IHttpUpgradeFeature>();
Assert.NotNull(opaqueFeature);
Assert.True(opaqueFeature.IsUpgradableRequest);
await opaqueFeature.UpgradeAsync();
@ -152,7 +152,7 @@ namespace Microsoft.AspNet.Server.WebListener
try
{
httpContext.Response.Headers["Upgrade"] = "websocket"; // Win8.1 blocks anything but WebSockets
var opaqueFeature = httpContext.GetFeature<IHttpUpgradeFeature>();
var opaqueFeature = httpContext.Features.Get<IHttpUpgradeFeature>();
Assert.NotNull(opaqueFeature);
Assert.True(opaqueFeature.IsUpgradableRequest);
var opaqueStream = await opaqueFeature.UpgradeAsync();
@ -195,7 +195,7 @@ namespace Microsoft.AspNet.Server.WebListener
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
try
{
var opaqueFeature = httpContext.GetFeature<IHttpUpgradeFeature>();
var opaqueFeature = httpContext.Features.Get<IHttpUpgradeFeature>();
Assert.NotNull(opaqueFeature);
Assert.False(opaqueFeature.IsUpgradableRequest);
}

View File

@ -40,7 +40,7 @@ namespace Microsoft.AspNet.Server.WebListener
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
try
{
var requestInfo = httpContext.GetFeature<IHttpRequestFeature>();
var requestInfo = httpContext.Features.Get<IHttpRequestFeature>();
// Request Keys
Assert.Equal("GET", requestInfo.Method);
@ -55,7 +55,7 @@ namespace Microsoft.AspNet.Server.WebListener
// Server Keys
// TODO: Assert.NotNull(env.Get<IDictionary<string, object>>("server.Capabilities"));
var connectionInfo = httpContext.GetFeature<IHttpConnectionFeature>();
var connectionInfo = httpContext.Features.Get<IHttpConnectionFeature>();
Assert.Equal("::1", connectionInfo.RemoteIpAddress.ToString());
Assert.NotEqual(0, connectionInfo.RemotePort);
Assert.Equal("::1", connectionInfo.LocalIpAddress.ToString());
@ -63,7 +63,7 @@ namespace Microsoft.AspNet.Server.WebListener
Assert.True(connectionInfo.IsLocal);
// Trace identifier
var requestIdentifierFeature = httpContext.GetFeature<IHttpRequestIdentifierFeature>();
var requestIdentifierFeature = httpContext.Features.Get<IHttpRequestIdentifierFeature>();
Assert.NotNull(requestIdentifierFeature);
Assert.NotNull(requestIdentifierFeature.TraceIdentifier);
@ -97,9 +97,9 @@ namespace Microsoft.AspNet.Server.WebListener
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
try
{
var requestInfo = httpContext.GetFeature<IHttpRequestFeature>();
var connectionInfo = httpContext.GetFeature<IHttpConnectionFeature>();
var requestIdentifierFeature = httpContext.GetFeature<IHttpRequestIdentifierFeature>();
var requestInfo = httpContext.Features.Get<IHttpRequestFeature>();
var connectionInfo = httpContext.Features.Get<IHttpConnectionFeature>();
var requestIdentifierFeature = httpContext.Features.Get<IHttpRequestIdentifierFeature>();
// Request Keys
Assert.Equal("http", requestInfo.Scheme);
@ -143,8 +143,8 @@ namespace Microsoft.AspNet.Server.WebListener
using (CreateServer(out root, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var requestInfo = httpContext.GetFeature<IHttpRequestFeature>();
var requestIdentifierFeature = httpContext.GetFeature<IHttpRequestIdentifierFeature>();
var requestInfo = httpContext.Features.Get<IHttpRequestFeature>();
var requestIdentifierFeature = httpContext.Features.Get<IHttpRequestIdentifierFeature>();
try
{
Assert.Equal(expectedPath, requestInfo.Path);

View File

@ -57,7 +57,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers;
responseHeaders["WWW-Authenticate"] = new string[] { "custom1" };
return Task.FromResult(0);
@ -82,7 +82,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers;
responseHeaders["WWW-Authenticate"] = new string[] { "custom1, and custom2", "custom3" };
return Task.FromResult(0);
@ -107,7 +107,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers;
responseHeaders["Custom-Header1"] = new string[] { "custom1, and custom2", "custom3" };
return Task.FromResult(0);
@ -132,7 +132,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers;
responseHeaders["Connection"] = new string[] { "Close" };
httpContext.Response.Body.Flush(); // Http.Sys adds the Content-Length: header for us if we don't flush
@ -180,7 +180,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers;
responseHeaders["Transfer-Encoding"] = new string[] { "chunked" };
var responseBytes = Encoding.ASCII.GetBytes("10\r\nManually Chunked\r\n0\r\n\r\n");
@ -210,7 +210,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers;
responseHeaders.Add("Custom1", new string[] { "value1a", "value1b" });
responseHeaders.Add("Custom2", new string[] { "value2a, value2b" });
@ -242,7 +242,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, async env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers;
responseHeaders.Add("Custom1", new string[] { "value1a", "value1b" });
responseHeaders.Add("Custom2", new string[] { "value2a, value2b" });

View File

@ -64,7 +64,7 @@ namespace Microsoft.AspNet.Server.WebListener
Assert.Equal("Overlapped", support.Get<string>("sendfile.Concurrency"));
*/
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
Assert.NotNull(sendFile);
}
catch (Exception ex)
@ -94,7 +94,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
try
{
sendFile.SendFileAsync(string.Empty, 0, null, CancellationToken.None).Wait();
@ -127,7 +127,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
}))
{
@ -147,7 +147,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
return sendFile.SendFileAsync(RelativeFilePath, 0, null, CancellationToken.None);
}))
{
@ -167,7 +167,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
}))
{
@ -187,7 +187,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None).Wait();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
}))
@ -208,7 +208,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, FileLength / 2, CancellationToken.None);
}))
{
@ -228,7 +228,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 1234567, null, CancellationToken.None);
}))
{
@ -244,7 +244,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, 1234567, CancellationToken.None);
}))
{
@ -260,7 +260,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, 0, CancellationToken.None);
}))
{
@ -280,7 +280,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
httpContext.Response.Headers["Content-lenGth"] = FileLength.ToString();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
}))
@ -302,7 +302,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
httpContext.Response.Headers["Content-lenGth"] = "10";
return sendFile.SendFileAsync(AbsoluteFilePath, 0, 10, CancellationToken.None);
}))
@ -324,7 +324,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
httpContext.Response.Headers["Content-lenGth"] = "0";
return sendFile.SendFileAsync(AbsoluteFilePath, 0, 0, CancellationToken.None);
}))

View File

@ -75,7 +75,7 @@ namespace Microsoft.AspNet.Server.WebListener
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
httpContext.Response.StatusCode = 201;
httpContext.GetFeature<IHttpResponseFeature>().ReasonPhrase = "CustomReasonPhrase"; // TODO?
httpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = "CustomReasonPhrase"; // TODO?
// TODO: env["owin.ResponseProtocol"] = "HTTP/1.0"; // Http.Sys ignores this value
return Task.FromResult(0);
}))

View File

@ -40,7 +40,7 @@ namespace Microsoft.AspNet.Server.WebListener
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
try
{
var webSocketFeature = httpContext.GetFeature<IHttpWebSocketFeature>();
var webSocketFeature = httpContext.Features.Get<IHttpWebSocketFeature>();
Assert.NotNull(webSocketFeature);
}
catch (Exception ex)
@ -70,7 +70,7 @@ namespace Microsoft.AspNet.Server.WebListener
await httpContext.Response.WriteAsync("Hello World");
try
{
var webSocketFeature = httpContext.GetFeature<IHttpWebSocketFeature>();
var webSocketFeature = httpContext.Features.Get<IHttpWebSocketFeature>();
Assert.NotNull(webSocketFeature);
await webSocketFeature.AcceptAsync(null);
upgradeThrew = false;
@ -97,7 +97,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, async env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var webSocketFeature = httpContext.GetFeature<IHttpWebSocketFeature>();
var webSocketFeature = httpContext.Features.Get<IHttpWebSocketFeature>();
Assert.NotNull(webSocketFeature);
Assert.True(webSocketFeature.IsWebSocketRequest);
await webSocketFeature.AcceptAsync(null);
@ -123,7 +123,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, async env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var webSocketFeature = httpContext.GetFeature<IHttpWebSocketFeature>();
var webSocketFeature = httpContext.Features.Get<IHttpWebSocketFeature>();
Assert.NotNull(webSocketFeature);
Assert.True(webSocketFeature.IsWebSocketRequest);
var serverWebSocket = await webSocketFeature.AcceptAsync(null);