Imported Upstream version 6.4.0.137

Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-07-26 19:53:28 +00:00
parent e9207cf623
commit ef583813eb
2712 changed files with 74169 additions and 40587 deletions

View File

@ -110,11 +110,12 @@ namespace System.Net
return e;
}
protected abstract bool TryReadFromBufferedContent (byte[] buffer, int offset, int count, out int result);
public override int Read (byte[] buffer, int offset, int count)
{
if (!CanRead)
throw new NotSupportedException (SR.net_writeonlystream);
Operation.ThrowIfClosedOrDisposed ();
if (buffer == null)
throw new ArgumentNullException (nameof (buffer));
@ -125,7 +126,13 @@ namespace System.Net
if (count < 0 || (length - offset) < count)
throw new ArgumentOutOfRangeException (nameof (count));
try {
if (TryReadFromBufferedContent (buffer, offset, count, out var result))
return result;
Operation.ThrowIfClosedOrDisposed ();
try
{
return ReadAsync (buffer, offset, count, CancellationToken.None).Result;
} catch (Exception e) {
throw GetException (e);