using System; using System.Collections.Generic; namespace Microsoft.AspNet.Abstractions { public abstract class HttpContext : IDisposable { public abstract HttpRequest Request { get; } public abstract HttpResponse Response { get; } public abstract IDictionary Items { get; } public abstract void Dispose(); public abstract object GetFeature(Type type); public abstract void SetFeature(Type type, object instance); public virtual T GetFeature() { return (T)GetFeature(typeof(T)); } public virtual void SetFeature(T instance) { SetFeature(typeof(T), instance); } } }