Use the new HttpContext.Features API.
This commit is contained in:
parent
4aab903b18
commit
5a3418c2bd
|
|
@ -28,17 +28,17 @@ namespace Microsoft.AspNet.Buffering
|
|||
return;
|
||||
}
|
||||
|
||||
var originalBufferingFeature = httpContext.GetFeature<IHttpBufferingFeature>();
|
||||
var originalSendFileFeature = httpContext.GetFeature<IHttpSendFileFeature>();
|
||||
var originalBufferingFeature = httpContext.Features.Get<IHttpBufferingFeature>();
|
||||
var originalSendFileFeature = httpContext.Features.Get<IHttpSendFileFeature>();
|
||||
try
|
||||
{
|
||||
// Shim the response stream
|
||||
var bufferStream = new BufferingWriteStream(originalResponseBody);
|
||||
httpContext.Response.Body = bufferStream;
|
||||
httpContext.SetFeature<IHttpBufferingFeature>(new HttpBufferingFeature(bufferStream, originalBufferingFeature));
|
||||
httpContext.Features.Set<IHttpBufferingFeature>(new HttpBufferingFeature(bufferStream, originalBufferingFeature));
|
||||
if (originalSendFileFeature != null)
|
||||
{
|
||||
httpContext.SetFeature<IHttpSendFileFeature>(new SendFileFeatureWrapper(originalSendFileFeature, bufferStream));
|
||||
httpContext.Features.Set<IHttpSendFileFeature>(new SendFileFeatureWrapper(originalSendFileFeature, bufferStream));
|
||||
}
|
||||
|
||||
await _next(httpContext);
|
||||
|
|
@ -57,8 +57,8 @@ namespace Microsoft.AspNet.Buffering
|
|||
finally
|
||||
{
|
||||
// undo everything
|
||||
httpContext.SetFeature(originalBufferingFeature);
|
||||
httpContext.SetFeature(originalSendFileFeature);
|
||||
httpContext.Features.Set(originalBufferingFeature);
|
||||
httpContext.Features.Set(originalSendFileFeature);
|
||||
httpContext.Response.Body = originalResponseBody;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@ namespace Microsoft.AspNet.Buffering.Tests
|
|||
Assert.False(context.Response.HasStarted);
|
||||
Assert.True(context.Response.Body.CanSeek);
|
||||
|
||||
var bufferingFeature = context.GetFeature<IHttpBufferingFeature>();
|
||||
var bufferingFeature = context.Features.Get<IHttpBufferingFeature>();
|
||||
Assert.NotNull(bufferingFeature);
|
||||
bufferingFeature.DisableResponseBuffering();
|
||||
|
||||
|
|
@ -244,7 +244,7 @@ namespace Microsoft.AspNet.Buffering.Tests
|
|||
Assert.False(context.Response.HasStarted);
|
||||
Assert.True(context.Response.Body.CanSeek);
|
||||
|
||||
var bufferingFeature = context.GetFeature<IHttpBufferingFeature>();
|
||||
var bufferingFeature = context.Features.Get<IHttpBufferingFeature>();
|
||||
Assert.NotNull(bufferingFeature);
|
||||
bufferingFeature.DisableResponseBuffering();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue