Call inner disable buffering feature (#25251)

* Call inner disable buffering feature

* Update StreamResponseBodyFeature.cs
This commit is contained in:
Justin Kotalik 2020-08-28 16:25:42 -07:00 committed by GitHub
parent 5ba7c70a36
commit 4797582279
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 1 deletions

View File

@ -71,10 +71,11 @@ namespace Microsoft.AspNetCore.Http
}
/// <summary>
/// Not supported.
/// Opts out of write buffering for the response.
/// </summary>
public virtual void DisableBuffering()
{
PriorFeature?.DisableBuffering();
}
/// <summary>

View File

@ -41,6 +41,22 @@ namespace Microsoft.AspNetCore.Http.Features
//Assert
Assert.Equal(1, streamResponseBodyFeature.StartCalled);
}
[Fact]
public void DisableBufferingCallsInnerFeature()
{
// Arrange
var stream = new MemoryStream();
var innerFeature = new InnerDisableBufferingFeature(stream, null);
var streamResponseBodyFeature = new StreamResponseBodyFeature(stream, innerFeature);
// Act
streamResponseBodyFeature.DisableBuffering();
//Assert
Assert.True(innerFeature.DisableBufferingCalled);
}
}
public class TestStreamResponseBodyFeature : StreamResponseBodyFeature
@ -59,4 +75,19 @@ namespace Microsoft.AspNetCore.Http.Features
public int StartCalled { get; private set; }
}
public class InnerDisableBufferingFeature : StreamResponseBodyFeature
{
public InnerDisableBufferingFeature(Stream stream, IHttpResponseBodyFeature priorFeature)
: base(stream, priorFeature)
{
}
public override void DisableBuffering()
{
DisableBufferingCalled = true;
}
public bool DisableBufferingCalled { get; set; }
}
}