| File: System\Net\Http\SocketsHttpHandler\HttpContentStream.cs | Web Access |
| Project: src\runtime\src\libraries\System.Net.Http\src\System.Net.Http.csproj (System.Net.Http) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.Net.Http { internal abstract class HttpContentStream : HttpBaseStream { protected internal HttpConnection? _connection; public HttpContentStream(HttpConnection connection) { _connection = connection; } public override void Write(byte[] buffer, int offset, int count) { ValidateBufferArguments(buffer, offset, count); Write(new ReadOnlySpan<byte>(buffer, offset, count)); } protected override void Dispose(bool disposing) { if (disposing) { if (_connection != null) { _connection.Dispose(); _connection = null; } } base.Dispose(disposing); } protected HttpConnection GetConnectionOrThrow() { HttpConnection? c = _connection; // Disposal should only ever happen if the user-code that was handed this instance disposed of // it, which is misuse, or held onto it and tried to use it later after we've disposed of it, // which is also misuse. ObjectDisposedException.ThrowIf(c is null, this); return c; } } }