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

View File

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

View File

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

View File

@ -57,7 +57,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>(); var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders["WWW-Authenticate"] = new string[] { "custom1" }; responseHeaders["WWW-Authenticate"] = new string[] { "custom1" };
return Task.FromResult(0); return Task.FromResult(0);
@ -82,7 +82,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>(); var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders["WWW-Authenticate"] = new string[] { "custom1, and custom2", "custom3" }; responseHeaders["WWW-Authenticate"] = new string[] { "custom1, and custom2", "custom3" };
return Task.FromResult(0); return Task.FromResult(0);
@ -107,7 +107,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>(); var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders["Custom-Header1"] = new string[] { "custom1, and custom2", "custom3" }; responseHeaders["Custom-Header1"] = new string[] { "custom1, and custom2", "custom3" };
return Task.FromResult(0); return Task.FromResult(0);
@ -132,7 +132,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>(); var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders["Connection"] = new string[] { "Close" }; responseHeaders["Connection"] = new string[] { "Close" };
httpContext.Response.Body.Flush(); // Http.Sys adds the Content-Length: header for us if we don't flush 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 => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>(); var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders["Transfer-Encoding"] = new string[] { "chunked" }; responseHeaders["Transfer-Encoding"] = new string[] { "chunked" };
var responseBytes = Encoding.ASCII.GetBytes("10\r\nManually Chunked\r\n0\r\n\r\n"); 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 => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>(); var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders.Add("Custom1", new string[] { "value1a", "value1b" }); responseHeaders.Add("Custom1", new string[] { "value1a", "value1b" });
responseHeaders.Add("Custom2", new string[] { "value2a, value2b" }); responseHeaders.Add("Custom2", new string[] { "value2a, value2b" });
@ -242,7 +242,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, async env => using (Utilities.CreateHttpServer(out address, async env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseFeature>(); var responseInfo = httpContext.Features.Get<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders.Add("Custom1", new string[] { "value1a", "value1b" }); responseHeaders.Add("Custom1", new string[] { "value1a", "value1b" });
responseHeaders.Add("Custom2", new string[] { "value2a, value2b" }); 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")); Assert.Equal("Overlapped", support.Get<string>("sendfile.Concurrency"));
*/ */
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>(); var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
Assert.NotNull(sendFile); Assert.NotNull(sendFile);
} }
catch (Exception ex) catch (Exception ex)
@ -94,7 +94,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>(); var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
try try
{ {
sendFile.SendFileAsync(string.Empty, 0, null, CancellationToken.None).Wait(); sendFile.SendFileAsync(string.Empty, 0, null, CancellationToken.None).Wait();
@ -127,7 +127,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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); return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
})) }))
{ {
@ -147,7 +147,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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); return sendFile.SendFileAsync(RelativeFilePath, 0, null, CancellationToken.None);
})) }))
{ {
@ -167,7 +167,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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); return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
})) }))
{ {
@ -187,7 +187,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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(); sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None).Wait();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
})) }))
@ -208,7 +208,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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); return sendFile.SendFileAsync(AbsoluteFilePath, 0, FileLength / 2, CancellationToken.None);
})) }))
{ {
@ -228,7 +228,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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); return sendFile.SendFileAsync(AbsoluteFilePath, 1234567, null, CancellationToken.None);
})) }))
{ {
@ -244,7 +244,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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); return sendFile.SendFileAsync(AbsoluteFilePath, 0, 1234567, CancellationToken.None);
})) }))
{ {
@ -260,7 +260,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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); return sendFile.SendFileAsync(AbsoluteFilePath, 0, 0, CancellationToken.None);
})) }))
{ {
@ -280,7 +280,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)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(); httpContext.Response.Headers["Content-lenGth"] = FileLength.ToString();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
})) }))
@ -302,7 +302,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>(); var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
httpContext.Response.Headers["Content-lenGth"] = "10"; httpContext.Response.Headers["Content-lenGth"] = "10";
return sendFile.SendFileAsync(AbsoluteFilePath, 0, 10, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 0, 10, CancellationToken.None);
})) }))
@ -324,7 +324,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(out address, env => using (Utilities.CreateHttpServer(out address, env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFileFeature>(); var sendFile = httpContext.Features.Get<IHttpSendFileFeature>();
httpContext.Response.Headers["Content-lenGth"] = "0"; httpContext.Response.Headers["Content-lenGth"] = "0";
return sendFile.SendFileAsync(AbsoluteFilePath, 0, 0, CancellationToken.None); 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); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
httpContext.Response.StatusCode = 201; 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 // TODO: env["owin.ResponseProtocol"] = "HTTP/1.0"; // Http.Sys ignores this value
return Task.FromResult(0); return Task.FromResult(0);
})) }))

View File

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