diff --git a/src/Microsoft.AspNetCore.WebUtilities/HttpResponseStreamWriter.cs b/src/Microsoft.AspNetCore.WebUtilities/HttpResponseStreamWriter.cs index f5568fb4a3..4356693d58 100644 --- a/src/Microsoft.AspNetCore.WebUtilities/HttpResponseStreamWriter.cs +++ b/src/Microsoft.AspNetCore.WebUtilities/HttpResponseStreamWriter.cs @@ -16,11 +16,7 @@ namespace Microsoft.AspNetCore.WebUtilities public class HttpResponseStreamWriter : TextWriter { private const int MinBufferSize = 128; - - /// - /// Default buffer size. - /// - public const int DefaultBufferSize = 1024; + internal const int DefaultBufferSize = 16 * 1024; private Stream _stream; private readonly Encoder _encoder; @@ -50,39 +46,19 @@ namespace Microsoft.AspNetCore.WebUtilities ArrayPool bytePool, ArrayPool charPool) { - if (stream == null) - { - throw new ArgumentNullException(nameof(stream)); - } - if (!stream.CanWrite) { throw new ArgumentException(Resources.HttpResponseStreamWriter_StreamNotWritable, nameof(stream)); } - if (encoding == null) - { - throw new ArgumentNullException(nameof(encoding)); - } + Encoding = encoding ?? throw new ArgumentNullException(nameof(encoding)); + _bytePool = bytePool ?? throw new ArgumentNullException(nameof(bytePool)); + _charPool = charPool ?? throw new ArgumentNullException(nameof(charPool)); + _stream = stream ?? throw new ArgumentNullException(nameof(stream)); - if (bytePool == null) - { - throw new ArgumentNullException(nameof(bytePool)); - } - - if (charPool == null) - { - throw new ArgumentNullException(nameof(charPool)); - } - - _stream = stream; - Encoding = encoding; _charBufferSize = bufferSize; _encoder = encoding.GetEncoder(); - _bytePool = bytePool; - _charPool = charPool; - _charBuffer = charPool.Rent(bufferSize); try diff --git a/src/Microsoft.AspNetCore.WebUtilities/breakingchanges.netcore.json b/src/Microsoft.AspNetCore.WebUtilities/breakingchanges.netcore.json new file mode 100644 index 0000000000..c1f57ccf9f --- /dev/null +++ b/src/Microsoft.AspNetCore.WebUtilities/breakingchanges.netcore.json @@ -0,0 +1,7 @@ +[ + { + "TypeId": "public class Microsoft.AspNetCore.WebUtilities.HttpResponseStreamWriter : System.IO.TextWriter", + "MemberId": "public const System.Int32 DefaultBufferSize = 1024", + "Kind": "Removal" + } +] diff --git a/test/Microsoft.AspNetCore.WebUtilities.Tests/HttpResponseStreamWriterTest.cs b/test/Microsoft.AspNetCore.WebUtilities.Tests/HttpResponseStreamWriterTest.cs index f87a6a70e6..10bd4bda3f 100644 --- a/test/Microsoft.AspNetCore.WebUtilities.Tests/HttpResponseStreamWriterTest.cs +++ b/test/Microsoft.AspNetCore.WebUtilities.Tests/HttpResponseStreamWriterTest.cs @@ -161,10 +161,10 @@ namespace Microsoft.AspNetCore.WebUtilities.Test } [Theory] - [InlineData(1023)] - [InlineData(1024)] - [InlineData(1050)] - [InlineData(2048)] + [InlineData(HttpResponseStreamWriter.DefaultBufferSize - 1)] + [InlineData(HttpResponseStreamWriter.DefaultBufferSize)] + [InlineData(HttpResponseStreamWriter.DefaultBufferSize + 1)] + [InlineData(HttpResponseStreamWriter.DefaultBufferSize * 2)] public async Task FlushesBuffer_ButNotStream_OnFlushAsync(int byteLength) { // Arrange