43 lines
1.3 KiB
C#
43 lines
1.3 KiB
C#
using System;
|
|
using Microsoft.AspNet.Abstractions;
|
|
using Microsoft.AspNet.FeatureModel;
|
|
|
|
namespace Microsoft.AspNet.PipelineCore
|
|
{
|
|
public class DefaultHttpContext : HttpContext
|
|
{
|
|
private readonly IInterfaceDictionary _environment;
|
|
private readonly HttpRequest _request;
|
|
private readonly HttpResponse _response;
|
|
|
|
public DefaultHttpContext(IInterfaceDictionary environment)
|
|
{
|
|
_environment = environment;
|
|
_request = new DefaultHttpRequest(this);
|
|
_response = new DefaultHttpResponse(this);
|
|
}
|
|
|
|
public override HttpRequest Request { get { return _request; } }
|
|
public override HttpResponse Response { get { return _response; } }
|
|
|
|
public int Revision { get { return _environment.Revision; } }
|
|
|
|
public override void Dispose()
|
|
{
|
|
// REVIEW: is this necessary? is the environment "owned" by the context?
|
|
_environment.Dispose();
|
|
}
|
|
|
|
public override object GetInterface(Type type)
|
|
{
|
|
object value;
|
|
return _environment.TryGetValue(type, out value) ? value : null;
|
|
}
|
|
|
|
public override void SetInterface(Type type, object instance)
|
|
{
|
|
_environment[type] = instance;
|
|
}
|
|
}
|
|
}
|