Use the new HttpContext.Features API.

This commit is contained in:
Chris R 2015-08-31 09:22:11 -07:00
parent 4aab903b18
commit 5a3418c2bd
2 changed files with 8 additions and 8 deletions

View File

@ -28,17 +28,17 @@ namespace Microsoft.AspNet.Buffering
return; return;
} }
var originalBufferingFeature = httpContext.GetFeature<IHttpBufferingFeature>(); var originalBufferingFeature = httpContext.Features.Get<IHttpBufferingFeature>();
var originalSendFileFeature = httpContext.GetFeature<IHttpSendFileFeature>(); var originalSendFileFeature = httpContext.Features.Get<IHttpSendFileFeature>();
try try
{ {
// Shim the response stream // Shim the response stream
var bufferStream = new BufferingWriteStream(originalResponseBody); var bufferStream = new BufferingWriteStream(originalResponseBody);
httpContext.Response.Body = bufferStream; httpContext.Response.Body = bufferStream;
httpContext.SetFeature<IHttpBufferingFeature>(new HttpBufferingFeature(bufferStream, originalBufferingFeature)); httpContext.Features.Set<IHttpBufferingFeature>(new HttpBufferingFeature(bufferStream, originalBufferingFeature));
if (originalSendFileFeature != null) if (originalSendFileFeature != null)
{ {
httpContext.SetFeature<IHttpSendFileFeature>(new SendFileFeatureWrapper(originalSendFileFeature, bufferStream)); httpContext.Features.Set<IHttpSendFileFeature>(new SendFileFeatureWrapper(originalSendFileFeature, bufferStream));
} }
await _next(httpContext); await _next(httpContext);
@ -57,8 +57,8 @@ namespace Microsoft.AspNet.Buffering
finally finally
{ {
// undo everything // undo everything
httpContext.SetFeature(originalBufferingFeature); httpContext.Features.Set(originalBufferingFeature);
httpContext.SetFeature(originalSendFileFeature); httpContext.Features.Set(originalSendFileFeature);
httpContext.Response.Body = originalResponseBody; httpContext.Response.Body = originalResponseBody;
} }
} }

View File

@ -207,7 +207,7 @@ namespace Microsoft.AspNet.Buffering.Tests
Assert.False(context.Response.HasStarted); Assert.False(context.Response.HasStarted);
Assert.True(context.Response.Body.CanSeek); Assert.True(context.Response.Body.CanSeek);
var bufferingFeature = context.GetFeature<IHttpBufferingFeature>(); var bufferingFeature = context.Features.Get<IHttpBufferingFeature>();
Assert.NotNull(bufferingFeature); Assert.NotNull(bufferingFeature);
bufferingFeature.DisableResponseBuffering(); bufferingFeature.DisableResponseBuffering();
@ -244,7 +244,7 @@ namespace Microsoft.AspNet.Buffering.Tests
Assert.False(context.Response.HasStarted); Assert.False(context.Response.HasStarted);
Assert.True(context.Response.Body.CanSeek); Assert.True(context.Response.Body.CanSeek);
var bufferingFeature = context.GetFeature<IHttpBufferingFeature>(); var bufferingFeature = context.Features.Get<IHttpBufferingFeature>();
Assert.NotNull(bufferingFeature); Assert.NotNull(bufferingFeature);
bufferingFeature.DisableResponseBuffering(); bufferingFeature.DisableResponseBuffering();