diff --git a/samples/ErrorHandlerSample/Startup.cs b/samples/ErrorHandlerSample/Startup.cs
index db4f7f3e77..3609affc6a 100644
--- a/samples/ErrorHandlerSample/Startup.cs
+++ b/samples/ErrorHandlerSample/Startup.cs
@@ -2,6 +2,7 @@
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Diagnostics;
using Microsoft.AspNet.Http;
+using Microsoft.AspNet.Http.Features;
using Microsoft.Framework.WebEncoders;
namespace ErrorHandlerSample
@@ -21,7 +22,7 @@ namespace ErrorHandlerSample
await context.Response.WriteAsync("
\r\n");
await context.Response.WriteAsync("We're sorry, we encountered an un-expected issue with your application.
\r\n");
- var error = context.GetFeature();
+ var error = context.Features.Get();
if (error != null)
{
// This error would not normally be exposed to the client
diff --git a/samples/StatusCodePagesSample/Startup.cs b/samples/StatusCodePagesSample/Startup.cs
index 27610ca64e..f94deae4fb 100644
--- a/samples/StatusCodePagesSample/Startup.cs
+++ b/samples/StatusCodePagesSample/Startup.cs
@@ -8,6 +8,7 @@ using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Diagnostics;
using Microsoft.AspNet.Http;
+using Microsoft.AspNet.Http.Features;
using Microsoft.Framework.WebEncoders;
namespace StatusCodePagesSample
@@ -40,7 +41,7 @@ namespace StatusCodePagesSample
var disableStatusCodePages = context.Request.Query["disableStatusCodePages"];
if (disableStatusCodePages == "true")
{
- var statusCodePagesFeature = context.GetFeature();
+ var statusCodePagesFeature = context.Features.Get();
if (statusCodePagesFeature != null)
{
statusCodePagesFeature.Enabled = false;
diff --git a/src/Microsoft.AspNet.Diagnostics.Elm/ElmCaptureMiddleware.cs b/src/Microsoft.AspNet.Diagnostics.Elm/ElmCaptureMiddleware.cs
index 4bfcf351da..10fbcd0ac5 100644
--- a/src/Microsoft.AspNet.Diagnostics.Elm/ElmCaptureMiddleware.cs
+++ b/src/Microsoft.AspNet.Diagnostics.Elm/ElmCaptureMiddleware.cs
@@ -30,7 +30,7 @@ namespace Microsoft.AspNet.Diagnostics.Elm
{
using (RequestIdentifier.Ensure(context))
{
- var requestId = context.GetFeature().TraceIdentifier;
+ var requestId = context.Features.Get().TraceIdentifier;
using (_logger.BeginScope("Request: {RequestId}", requestId))
{
try
@@ -54,7 +54,7 @@ namespace Microsoft.AspNet.Diagnostics.Elm
{
return new HttpInfo()
{
- RequestID = context.GetFeature().TraceIdentifier,
+ RequestID = context.Features.Get().TraceIdentifier,
Host = context.Request.Host,
ContentType = context.Request.ContentType,
Path = context.Request.Path,
diff --git a/src/Microsoft.AspNet.Diagnostics.Elm/RequestIdentifier.cs b/src/Microsoft.AspNet.Diagnostics.Elm/RequestIdentifier.cs
index 0ec1d2e2b2..1f57751602 100644
--- a/src/Microsoft.AspNet.Diagnostics.Elm/RequestIdentifier.cs
+++ b/src/Microsoft.AspNet.Diagnostics.Elm/RequestIdentifier.cs
@@ -18,7 +18,7 @@ namespace Microsoft.AspNet.Diagnostics.Elm
private RequestIdentifier(HttpContext context)
{
_context = context;
- _feature = context.GetFeature();
+ _feature = context.Features.Get();
if (_feature == null)
{
@@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Diagnostics.Elm
{
TraceIdentifier = Guid.NewGuid().ToString()
};
- context.SetFeature(_feature);
+ context.Features.Set(_feature);
_addedFeature = true;
}
else if (string.IsNullOrEmpty(_feature.TraceIdentifier))
@@ -46,7 +46,7 @@ namespace Microsoft.AspNet.Diagnostics.Elm
{
if (_addedFeature)
{
- _context.SetFeature(null);
+ _context.Features.Set(null);
}
else if (_updatedIdentifier)
{
diff --git a/src/Microsoft.AspNet.Diagnostics/ErrorHandlerMiddleware.cs b/src/Microsoft.AspNet.Diagnostics/ErrorHandlerMiddleware.cs
index 1464f3e3d1..9e5cc81aeb 100644
--- a/src/Microsoft.AspNet.Diagnostics/ErrorHandlerMiddleware.cs
+++ b/src/Microsoft.AspNet.Diagnostics/ErrorHandlerMiddleware.cs
@@ -57,7 +57,7 @@ namespace Microsoft.AspNet.Diagnostics
{
Error = ex,
};
- context.SetFeature(errorHandlerFeature);
+ context.Features.Set(errorHandlerFeature);
context.Response.StatusCode = 500;
context.Response.Headers.Clear();
context.Response.OnStarting(_clearCacheHeadersDelegate, context.Response);
diff --git a/src/Microsoft.AspNet.Diagnostics/StatusCodePagesExtensions.cs b/src/Microsoft.AspNet.Diagnostics/StatusCodePagesExtensions.cs
index 7ca9da9c90..33ef114a44 100644
--- a/src/Microsoft.AspNet.Diagnostics/StatusCodePagesExtensions.cs
+++ b/src/Microsoft.AspNet.Diagnostics/StatusCodePagesExtensions.cs
@@ -6,6 +6,7 @@ using System.Globalization;
using System.Threading.Tasks;
using Microsoft.AspNet.Diagnostics;
using Microsoft.AspNet.Http;
+using Microsoft.AspNet.Http.Features;
using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Builder
@@ -126,7 +127,7 @@ namespace Microsoft.AspNet.Builder
var originalPath = context.HttpContext.Request.Path;
// Store the original paths so the app can check it.
- context.HttpContext.SetFeature(new StatusCodeReExecuteFeature()
+ context.HttpContext.Features.Set(new StatusCodeReExecuteFeature()
{
OriginalPathBase = context.HttpContext.Request.PathBase.Value,
OriginalPath = originalPath.Value,
@@ -140,7 +141,7 @@ namespace Microsoft.AspNet.Builder
finally
{
context.HttpContext.Request.Path = originalPath;
- context.HttpContext.SetFeature(null);
+ context.HttpContext.Features.Set(null);
}
});
}
diff --git a/src/Microsoft.AspNet.Diagnostics/StatusCodePagesMiddleware.cs b/src/Microsoft.AspNet.Diagnostics/StatusCodePagesMiddleware.cs
index 9d339e38a5..578f93348b 100644
--- a/src/Microsoft.AspNet.Diagnostics/StatusCodePagesMiddleware.cs
+++ b/src/Microsoft.AspNet.Diagnostics/StatusCodePagesMiddleware.cs
@@ -5,6 +5,7 @@ using System;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Http;
+using Microsoft.AspNet.Http.Features;
namespace Microsoft.AspNet.Diagnostics
{
@@ -26,7 +27,7 @@ namespace Microsoft.AspNet.Diagnostics
public async Task Invoke(HttpContext context)
{
var statusCodeFeature = new StatusCodePagesFeature();
- context.SetFeature(statusCodeFeature);
+ context.Features.Set(statusCodeFeature);
await _next(context);
diff --git a/test/Microsoft.AspNet.Diagnostics.Tests/ElmMiddlewareTest.cs b/test/Microsoft.AspNet.Diagnostics.Tests/ElmMiddlewareTest.cs
index e68254d402..11ca1f51c6 100644
--- a/test/Microsoft.AspNet.Diagnostics.Tests/ElmMiddlewareTest.cs
+++ b/test/Microsoft.AspNet.Diagnostics.Tests/ElmMiddlewareTest.cs
@@ -219,7 +219,7 @@ namespace Microsoft.AspNet.Diagnostics.Tests
.Returns(true);
var requestIdentifier = new Mock();
requestIdentifier.Setup(f => f.TraceIdentifier).Returns(Guid.NewGuid().ToString());
- contextMock.Setup(c => c.GetFeature())
+ contextMock.Setup(c => c.Features.Get())
.Returns(requestIdentifier.Object);
return contextMock;
}
@@ -236,7 +236,7 @@ namespace Microsoft.AspNet.Diagnostics.Tests
// Act & Assert
var errorPageMiddleware = new ElmCaptureMiddleware((innerContext) =>
{
- var feature = innerContext.GetFeature();
+ var feature = innerContext.Features.Get();
Assert.NotNull(feature);
Assert.False(string.IsNullOrEmpty(feature.TraceIdentifier));
return Task.FromResult(0);
@@ -244,7 +244,7 @@ namespace Microsoft.AspNet.Diagnostics.Tests
await errorPageMiddleware.Invoke(context);
- Assert.Null(context.GetFeature());
+ Assert.Null(context.Features.Get());
}
[Fact]
@@ -255,19 +255,19 @@ namespace Microsoft.AspNet.Diagnostics.Tests
{
TraceIdentifier = Guid.NewGuid().ToString()
};
- context.SetFeature(requestIdentifierFeature);
+ context.Features.Set(requestIdentifierFeature);
var loggerFactory = new LoggerFactory();
loggerFactory.AddProvider(new ElmLoggerProvider(new ElmStore(), new ElmOptions()));
var errorPageMiddleware = new ElmCaptureMiddleware((innerContext) =>
{
- Assert.Same(requestIdentifierFeature, innerContext.GetFeature());
+ Assert.Same(requestIdentifierFeature, innerContext.Features.Get());
return Task.FromResult(0);
}, loggerFactory, new TestElmOptions());
await errorPageMiddleware.Invoke(context);
- Assert.Same(requestIdentifierFeature, context.GetFeature());
+ Assert.Same(requestIdentifierFeature, context.Features.Get());
}
[Theory]
@@ -277,13 +277,13 @@ namespace Microsoft.AspNet.Diagnostics.Tests
{
var context = new DefaultHttpContext();
var requestIdentifierFeature = new HttpRequestIdentifierFeature() { TraceIdentifier = requestId };
- context.SetFeature(requestIdentifierFeature);
+ context.Features.Set(requestIdentifierFeature);
var loggerFactory = new LoggerFactory();
loggerFactory.AddProvider(new ElmLoggerProvider(new ElmStore(), new ElmOptions()));
var errorPageMiddleware = new ElmCaptureMiddleware((innerContext) =>
{
- var feature = innerContext.GetFeature();
+ var feature = innerContext.Features.Get();
Assert.NotNull(feature);
Assert.False(string.IsNullOrEmpty(feature.TraceIdentifier));
return Task.FromResult(0);
@@ -291,7 +291,7 @@ namespace Microsoft.AspNet.Diagnostics.Tests
await errorPageMiddleware.Invoke(context);
- Assert.Equal(requestId, context.GetFeature().TraceIdentifier);
+ Assert.Equal(requestId, context.Features.Get().TraceIdentifier);
}
private class TestElmOptions : IOptions