Made small changes to prevent null refs when getting HttpRequestInformation

- Use FeatureReference<T>.Default instead of new when constructing
- Fixed  project.json in tests
This commit is contained in:
David Fowler 2014-02-01 02:32:46 -08:00
parent 003718c564
commit 4ce1423b1c
6 changed files with 12 additions and 11 deletions

View File

@ -10,7 +10,7 @@ namespace Microsoft.AspNet.PipelineCore
public class DefaultCanHasQuery : ICanHasQuery
{
private readonly IFeatureCollection _features;
private FeatureReference<IHttpRequestInformation> _request = new FeatureReference<IHttpRequestInformation>();
private FeatureReference<IHttpRequestInformation> _request = FeatureReference<IHttpRequestInformation>.Default;
private string _queryString;
private IReadableStringCollection _query;

View File

@ -9,7 +9,7 @@ namespace Microsoft.AspNet.PipelineCore
public class DefaultCanHasRequestCookies : ICanHasRequestCookies
{
private readonly IFeatureCollection _features;
private FeatureReference<IHttpRequestInformation> _request = new FeatureReference<IHttpRequestInformation>();
private FeatureReference<IHttpRequestInformation> _request = FeatureReference<IHttpRequestInformation>.Default;
private string _cookiesHeader;
private RequestCookiesCollection _cookiesCollection;
private static readonly string[] ZeroHeaders = new string[0];

View File

@ -20,7 +20,7 @@ namespace Microsoft.AspNet.PipelineCore
_request = new DefaultHttpRequest(this, features);
_response = new DefaultHttpResponse(this, features);
_canHasItems = new FeatureReference<ICanHasItems>();
_canHasItems = FeatureReference<ICanHasItems>.Default;
}
ICanHasItems CanHasItems

View File

@ -12,11 +12,11 @@ namespace Microsoft.AspNet.PipelineCore
private readonly DefaultHttpContext _context;
private readonly IFeatureCollection _features;
private FeatureReference<IHttpRequestInformation> _request = new FeatureReference<IHttpRequestInformation>();
private FeatureReference<IHttpConnection> _connection = new FeatureReference<IHttpConnection>();
private FeatureReference<IHttpTransportLayerSecurity> _transportLayerSecurity = new FeatureReference<IHttpTransportLayerSecurity>();
private FeatureReference<ICanHasQuery> _canHasQuery = new FeatureReference<ICanHasQuery>();
private FeatureReference<ICanHasRequestCookies> _canHasCookies = new FeatureReference<ICanHasRequestCookies>();
private FeatureReference<IHttpRequestInformation> _request = FeatureReference<IHttpRequestInformation>.Default;
private FeatureReference<IHttpConnection> _connection = FeatureReference<IHttpConnection>.Default;
private FeatureReference<IHttpTransportLayerSecurity> _transportLayerSecurity = FeatureReference<IHttpTransportLayerSecurity>.Default;
private FeatureReference<ICanHasQuery> _canHasQuery = FeatureReference<ICanHasQuery>.Default;
private FeatureReference<ICanHasRequestCookies> _canHasCookies = FeatureReference<ICanHasRequestCookies>.Default;
public DefaultHttpRequest(DefaultHttpContext context, IFeatureCollection features)
{

View File

@ -14,7 +14,7 @@ namespace Microsoft.AspNet.PipelineCore.Infrastructure
}
public static readonly FeatureReference<T> Default = new FeatureReference<T>(default(T), -1);
public T Fetch(IFeatureCollection features)
{
if (_revision == features.Revision) return _feature;

View File

@ -4,7 +4,8 @@
"Microsoft.AspNet.AppBuilderSupport": "",
"Microsoft.AspNet.HttpFeature": "",
"Microsoft.AspNet.Abstractions": "",
"Microsoft.AspNet.FeatureModel": ""
"Microsoft.AspNet.FeatureModel": "",
"Microsoft.AspNet.PipelineCore": ""
},
"configurations": {
"net45": {
@ -13,7 +14,7 @@
"Microsoft.Owin": "2.1.0",
"Microsoft.Owin.Hosting": "2.1.0",
"Microsoft.Owin.Testing": "2.1.0",
"Moq": "4.2.1312.1622",
"Moq": "4.2.1312.1622",
"xunit": "1.9.2",
"Microsoft.Net.Http": "2.2.13",
"System.Net.Http": ""