Remove IHttpContextFactory, it was moved to HttpAbstractions.

This commit is contained in:
Chris R 2015-10-25 09:12:33 -07:00
parent f37375f43c
commit 8e1a0768db
3 changed files with 0 additions and 99 deletions

View File

@ -1,26 +0,0 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Http.Internal;
namespace Microsoft.AspNet.Hosting.Builder
{
public class HttpContextFactory : IHttpContextFactory
{
private IHttpContextAccessor _httpContextAccessor;
public HttpContextFactory(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public HttpContext CreateHttpContext(IFeatureCollection featureCollection)
{
var httpContext = new DefaultHttpContext(featureCollection);
_httpContextAccessor.HttpContext = httpContext;
return httpContext;
}
}
}

View File

@ -1,13 +0,0 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Http.Features;
namespace Microsoft.AspNet.Hosting.Builder
{
public interface IHttpContextFactory
{
HttpContext CreateHttpContext(IFeatureCollection featureCollection);
}
}

View File

@ -1,60 +0,0 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic;
using Microsoft.AspNet.Hosting.Builder;
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Http.Internal;
using Microsoft.AspNet.Owin;
using Xunit;
namespace Microsoft.AspNet.Hosting.Tests
{
public class HttpContextFactoryFacts
{
[Fact]
public void CreateHttpContextSetsHttpContextAccessor()
{
// Arrange
var accessor = new HttpContextAccessor();
var contextFactory = new HttpContextFactory(accessor);
// Act
var context = contextFactory.CreateHttpContext(new FeatureCollection());
// Assert
Assert.True(ReferenceEquals(context, accessor.HttpContext));
}
[Fact]
public void Mutable_FeatureCollection_Wrapped_For_OwinFeatureCollection()
{
var env = new Dictionary<string, object>();
var contextFactory = new HttpContextFactory(new HttpContextAccessor());
var context = contextFactory.CreateHttpContext(new FeatureCollection(new OwinFeatureCollection(env)));
// Setting a feature will throw if the above feature collection is not wrapped in a mutable feature collection.
context.Features.Set<ICustomFeature>(new CustomFeature(100));
Assert.Equal(100, context.Features.Get<ICustomFeature>().Value);
}
private interface ICustomFeature
{
int Value { get; }
}
private class CustomFeature : ICustomFeature
{
private readonly int _value;
public CustomFeature(int value)
{
_value = value;
}
public int Value
{
get { return _value; }
}
}
}
}