Use new HttpContext.Features API.
This commit is contained in:
parent
1f596abfe5
commit
195e06970a
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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" });
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}))
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}))
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue