Fix HttpAbstraction dependencies.

This commit is contained in:
Chris Ross 2014-05-05 17:14:45 -07:00
parent 21616bcde5
commit 903197e1ce
10 changed files with 64 additions and 64 deletions

View File

@ -1,7 +1,7 @@
{ {
"version" : "0.1-alpha-*", "version" : "0.1-alpha-*",
"dependencies": { "dependencies": {
"Microsoft.AspNet.Abstractions": "0.1-alpha-*", "Microsoft.AspNet.Http": "0.1-alpha-*",
"Microsoft.AspNet.Hosting": "0.1-alpha-*", "Microsoft.AspNet.Hosting": "0.1-alpha-*",
"Microsoft.Net.Server": "", "Microsoft.Net.Server": "",
"Microsoft.AspNet.Server.WebListener": "" "Microsoft.AspNet.Server.WebListener": ""

View File

@ -28,7 +28,7 @@ using Microsoft.Net.Server;
namespace Microsoft.AspNet.Server.WebListener namespace Microsoft.AspNet.Server.WebListener
{ {
internal class FeatureContext : IHttpRequestInformation, IHttpConnection, IHttpResponseInformation, IHttpSendFile, IHttpTransportLayerSecurity, IHttpRequestLifetime internal class FeatureContext : IHttpRequestFeature, IHttpConnectionFeature, IHttpResponseFeature, IHttpSendFileFeature, IHttpTransportLayerSecurityFeature, IHttpRequestLifetimeFeature
{ {
private RequestContext _requestContext; private RequestContext _requestContext;
private FeatureCollection _features; private FeatureCollection _features;
@ -74,16 +74,16 @@ namespace Microsoft.AspNet.Server.WebListener
private void PopulateFeatures() private void PopulateFeatures()
{ {
_features.Add(typeof(IHttpRequestInformation), this); _features.Add(typeof(IHttpRequestFeature), this);
_features.Add(typeof(IHttpConnection), this); _features.Add(typeof(IHttpConnectionFeature), this);
if (Request.IsSecureConnection) if (Request.IsSecureConnection)
{ {
// TODO: Should this feature be conditional? Should we add this for HTTP requests? // TODO: Should this feature be conditional? Should we add this for HTTP requests?
_features.Add(typeof(IHttpTransportLayerSecurity), this); _features.Add(typeof(IHttpTransportLayerSecurityFeature), this);
} }
_features.Add(typeof(IHttpResponseInformation), this); _features.Add(typeof(IHttpResponseFeature), this);
_features.Add(typeof(IHttpSendFile), this); _features.Add(typeof(IHttpSendFileFeature), this);
_features.Add(typeof(IHttpRequestLifetime), this); _features.Add(typeof(IHttpRequestLifetimeFeature), this);
// TODO: // TODO:
// _environment.CallCancelled = _cts.Token; // _environment.CallCancelled = _cts.Token;
@ -98,9 +98,9 @@ namespace Microsoft.AspNet.Server.WebListener
*/ */
} }
#region IHttpRequestInformation #region IHttpRequestFeature
Stream IHttpRequestInformation.Body Stream IHttpRequestFeature.Body
{ {
get get
{ {
@ -113,7 +113,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _requestBody = value; } set { _requestBody = value; }
} }
IDictionary<string, string[]> IHttpRequestInformation.Headers IDictionary<string, string[]> IHttpRequestFeature.Headers
{ {
get get
{ {
@ -126,7 +126,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _requestHeaders = value; } set { _requestHeaders = value; }
} }
string IHttpRequestInformation.Method string IHttpRequestFeature.Method
{ {
get get
{ {
@ -139,7 +139,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _httpMethod = value; } set { _httpMethod = value; }
} }
string IHttpRequestInformation.Path string IHttpRequestFeature.Path
{ {
get get
{ {
@ -152,7 +152,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _path = value; } set { _path = value; }
} }
string IHttpRequestInformation.PathBase string IHttpRequestFeature.PathBase
{ {
get get
{ {
@ -165,7 +165,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _pathBase = value; } set { _pathBase = value; }
} }
string IHttpRequestInformation.Protocol string IHttpRequestFeature.Protocol
{ {
get get
{ {
@ -190,7 +190,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _httpProtocolVersion = value; } set { _httpProtocolVersion = value; }
} }
string IHttpRequestInformation.QueryString string IHttpRequestFeature.QueryString
{ {
get get
{ {
@ -203,7 +203,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _query = value; } set { _query = value; }
} }
string IHttpRequestInformation.Scheme string IHttpRequestFeature.Scheme
{ {
get get
{ {
@ -216,8 +216,8 @@ namespace Microsoft.AspNet.Server.WebListener
set { _scheme = value; } set { _scheme = value; }
} }
#endregion #endregion
#region IHttpConnection #region IHttpConnectionFeature
bool IHttpConnection.IsLocal bool IHttpConnectionFeature.IsLocal
{ {
get get
{ {
@ -230,7 +230,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _isLocal = value; } set { _isLocal = value; }
} }
IPAddress IHttpConnection.LocalIpAddress IPAddress IHttpConnectionFeature.LocalIpAddress
{ {
get get
{ {
@ -243,7 +243,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _localIpAddress = value; } set { _localIpAddress = value; }
} }
IPAddress IHttpConnection.RemoteIpAddress IPAddress IHttpConnectionFeature.RemoteIpAddress
{ {
get get
{ {
@ -256,7 +256,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _remoteIpAddress = value; } set { _remoteIpAddress = value; }
} }
int IHttpConnection.LocalPort int IHttpConnectionFeature.LocalPort
{ {
get get
{ {
@ -269,7 +269,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _localPort = value; } set { _localPort = value; }
} }
int IHttpConnection.RemotePort int IHttpConnectionFeature.RemotePort
{ {
get get
{ {
@ -282,8 +282,8 @@ namespace Microsoft.AspNet.Server.WebListener
set { _remotePort = value; } set { _remotePort = value; }
} }
#endregion #endregion
#region IHttpTransportLayerSecurity #region IHttpTransportLayerSecurityFeature
X509Certificate IHttpTransportLayerSecurity.ClientCertificate X509Certificate IHttpTransportLayerSecurityFeature.ClientCertificate
{ {
get get
{ {
@ -296,7 +296,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _clientCert = value; } set { _clientCert = value; }
} }
async Task IHttpTransportLayerSecurity.LoadAsync() async Task IHttpTransportLayerSecurityFeature.LoadAsync()
{ {
if (_clientCert == null) if (_clientCert == null)
{ {
@ -304,8 +304,8 @@ namespace Microsoft.AspNet.Server.WebListener
} }
} }
#endregion #endregion
#region IHttpResponseInformation #region IHttpResponseFeature
Stream IHttpResponseInformation.Body Stream IHttpResponseFeature.Body
{ {
get get
{ {
@ -318,7 +318,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _responseStream = value; } set { _responseStream = value; }
} }
IDictionary<string, string[]> IHttpResponseInformation.Headers IDictionary<string, string[]> IHttpResponseFeature.Headers
{ {
get get
{ {
@ -331,24 +331,24 @@ namespace Microsoft.AspNet.Server.WebListener
set { _responseHeaders = value; } set { _responseHeaders = value; }
} }
void IHttpResponseInformation.OnSendingHeaders(Action<object> callback, object state) void IHttpResponseFeature.OnSendingHeaders(Action<object> callback, object state)
{ {
Response.OnSendingHeaders(callback, state); Response.OnSendingHeaders(callback, state);
} }
string IHttpResponseInformation.ReasonPhrase string IHttpResponseFeature.ReasonPhrase
{ {
get { return Response.ReasonPhrase; } get { return Response.ReasonPhrase; }
set { Response.ReasonPhrase = value; } set { Response.ReasonPhrase = value; }
} }
int IHttpResponseInformation.StatusCode int IHttpResponseFeature.StatusCode
{ {
get { return Response.StatusCode; } get { return Response.StatusCode; }
set { Response.StatusCode = value; } set { Response.StatusCode = value; }
} }
#endregion #endregion
Task IHttpSendFile.SendFileAsync(string path, long offset, long? length, CancellationToken cancellation) Task IHttpSendFileFeature.SendFileAsync(string path, long offset, long? length, CancellationToken cancellation)
{ {
return Response.SendFileAsync(path, offset, length, cancellation); return Response.SendFileAsync(path, offset, length, cancellation);
} }

View File

@ -2,7 +2,7 @@
"version": "0.1-alpha-*", "version": "0.1-alpha-*",
"dependencies": { "dependencies": {
"Microsoft.Net.Server" : "", "Microsoft.Net.Server" : "",
"Microsoft.AspNet.Abstractions": "0.1-alpha-*", "Microsoft.AspNet.Http": "0.1-alpha-*",
"Microsoft.AspNet.ConfigurationModel": "0.1-alpha-*", "Microsoft.AspNet.ConfigurationModel": "0.1-alpha-*",
"Microsoft.AspNet.HttpFeature": "0.1-alpha-*", "Microsoft.AspNet.HttpFeature": "0.1-alpha-*",
"Microsoft.AspNet.FeatureModel": "0.1-alpha-*", "Microsoft.AspNet.FeatureModel": "0.1-alpha-*",

View File

@ -1,7 +1,7 @@
{ {
"version": "0.1-alpha-*", "version": "0.1-alpha-*",
"dependencies": { "dependencies": {
"Microsoft.AspNet.Abstractions" : "0.1-alpha-*", "Microsoft.AspNet.Http" : "0.1-alpha-*",
"Microsoft.AspNet.HttpFeature" : "0.1-alpha-*" "Microsoft.AspNet.HttpFeature" : "0.1-alpha-*"
}, },
"compilationOptions" : { "allowUnsafe": true }, "compilationOptions" : { "allowUnsafe": true },

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<IHttpTransportLayerSecurity>(); var tls = httpContext.GetFeature<IHttpTransportLayerSecurityFeature>();
Assert.NotNull(tls); Assert.NotNull(tls);
await tls.LoadAsync(); await tls.LoadAsync();
Assert.Null(tls.ClientCertificate); Assert.Null(tls.ClientCertificate);
@ -102,7 +102,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<IHttpTransportLayerSecurity>(); var tls = httpContext.GetFeature<IHttpTransportLayerSecurityFeature>();
Assert.NotNull(tls); Assert.NotNull(tls);
await tls.LoadAsync(); await tls.LoadAsync();
Assert.NotNull(tls.ClientCertificate); Assert.NotNull(tls.ClientCertificate);

View File

@ -45,7 +45,7 @@ namespace Microsoft.AspNet.Server.WebListener
// General keys // General keys
// TODO: Assert.True(env.Get<CancellationToken>("owin.CallCancelled").CanBeCanceled); // TODO: Assert.True(env.Get<CancellationToken>("owin.CallCancelled").CanBeCanceled);
var requestInfo = httpContext.GetFeature<IHttpRequestInformation>(); var requestInfo = httpContext.GetFeature<IHttpRequestFeature>();
// Request Keys // Request Keys
Assert.Equal("GET", requestInfo.Method); Assert.Equal("GET", requestInfo.Method);
@ -60,7 +60,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<IHttpConnection>(); var connectionInfo = httpContext.GetFeature<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());
@ -96,8 +96,8 @@ namespace Microsoft.AspNet.Server.WebListener
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
try try
{ {
var requestInfo = httpContext.GetFeature<IHttpRequestInformation>(); var requestInfo = httpContext.GetFeature<IHttpRequestFeature>();
var connectionInfo = httpContext.GetFeature<IHttpConnection>(); var connectionInfo = httpContext.GetFeature<IHttpConnectionFeature>();
// Request Keys // Request Keys
Assert.Equal("http", requestInfo.Scheme); Assert.Equal("http", requestInfo.Scheme);
@ -137,7 +137,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (CreateServer(env => using (CreateServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var requestInfo = httpContext.GetFeature<IHttpRequestInformation>(); var requestInfo = httpContext.GetFeature<IHttpRequestFeature>();
try try
{ {
Assert.Equal(expectedPath, requestInfo.Path); Assert.Equal(expectedPath, requestInfo.Path);

View File

@ -56,7 +56,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseInformation>(); var responseInfo = httpContext.GetFeature<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);
@ -80,7 +80,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseInformation>(); var responseInfo = httpContext.GetFeature<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);
@ -104,7 +104,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseInformation>(); var responseInfo = httpContext.GetFeature<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);
@ -128,7 +128,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseInformation>(); var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders["Connection"] = new string[] { "Close" }; responseHeaders["Connection"] = new string[] { "Close" };
return Task.FromResult(0); return Task.FromResult(0);
@ -205,7 +205,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseInformation>(); var responseInfo = httpContext.GetFeature<IHttpResponseFeature>();
var responseHeaders = responseInfo.Headers; var responseHeaders = responseInfo.Headers;
responseHeaders["Transfer-Encoding"] = new string[] { "chunked" }; responseHeaders["Transfer-Encoding"] = new string[] { "chunked" };
return responseInfo.Body.WriteAsync(new byte[10], 0, 10); return responseInfo.Body.WriteAsync(new byte[10], 0, 10);
@ -233,7 +233,7 @@ namespace Microsoft.AspNet.Server.WebListener
env => env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseInformation>(); var responseInfo = httpContext.GetFeature<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" });
@ -263,7 +263,7 @@ namespace Microsoft.AspNet.Server.WebListener
async env => async env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var responseInfo = httpContext.GetFeature<IHttpResponseInformation>(); var responseInfo = httpContext.GetFeature<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

@ -65,7 +65,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<IHttpSendFile>(); var sendFile = httpContext.GetFeature<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(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
try try
{ {
sendFile.SendFileAsync(string.Empty, 0, null, CancellationToken.None).Wait(); sendFile.SendFileAsync(string.Empty, 0, null, CancellationToken.None).Wait();
@ -126,7 +126,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
})) }))
{ {
@ -145,7 +145,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
return sendFile.SendFileAsync(RelativeFilePath, 0, null, CancellationToken.None); return sendFile.SendFileAsync(RelativeFilePath, 0, null, CancellationToken.None);
})) }))
{ {
@ -164,7 +164,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
httpContext.Response.Headers["Transfer-EncodinG"] = "CHUNKED"; httpContext.Response.Headers["Transfer-EncodinG"] = "CHUNKED";
return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 0, null, CancellationToken.None);
})) }))
@ -184,7 +184,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
httpContext.Response.Headers["Transfer-EncodinG"] = "CHUNKED"; httpContext.Response.Headers["Transfer-EncodinG"] = "CHUNKED";
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);
@ -205,7 +205,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, FileLength / 2, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 0, FileLength / 2, CancellationToken.None);
})) }))
{ {
@ -224,7 +224,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 1234567, null, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 1234567, null, CancellationToken.None);
})) }))
{ {
@ -239,7 +239,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, 1234567, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 0, 1234567, CancellationToken.None);
})) }))
{ {
@ -254,7 +254,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<IHttpSendFileFeature>();
return sendFile.SendFileAsync(AbsoluteFilePath, 0, 0, CancellationToken.None); return sendFile.SendFileAsync(AbsoluteFilePath, 0, 0, CancellationToken.None);
})) }))
{ {
@ -273,7 +273,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<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);
})) }))
@ -294,7 +294,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<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);
})) }))
@ -315,7 +315,7 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpServer(env => using (Utilities.CreateHttpServer(env =>
{ {
var httpContext = new DefaultHttpContext((IFeatureCollection)env); var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var sendFile = httpContext.GetFeature<IHttpSendFile>(); var sendFile = httpContext.GetFeature<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

@ -74,7 +74,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<IHttpResponseInformation>().ReasonPhrase = "CustomReasonPhrase"; // TODO? httpContext.GetFeature<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

@ -11,7 +11,7 @@
"xunit.execution": "2.0.0-aspnet-*", "xunit.execution": "2.0.0-aspnet-*",
"Microsoft.AspNet.Server.WebListener" : "", "Microsoft.AspNet.Server.WebListener" : "",
"Microsoft.Net.Server" : "", "Microsoft.Net.Server" : "",
"Microsoft.AspNet.Abstractions" : "0.1-alpha-*", "Microsoft.AspNet.Http" : "0.1-alpha-*",
"Microsoft.AspNet.ConfigurationModel": "0.1-alpha-*", "Microsoft.AspNet.ConfigurationModel": "0.1-alpha-*",
"Microsoft.AspNet.HttpFeature" : "0.1-alpha-*", "Microsoft.AspNet.HttpFeature" : "0.1-alpha-*",
"Microsoft.AspNet.FeatureModel" : "0.1-alpha-*", "Microsoft.AspNet.FeatureModel" : "0.1-alpha-*",