# System.Net.Http ``` diff namespace System.Net.Http { public class ByteArrayContent : HttpContent { + protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); } public class FormUrlEncodedContent : ByteArrayContent { + protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); } public class HttpClient : HttpMessageInvoker { + public static IWebProxy DefaultProxy { get; set; } + public Version DefaultRequestVersion { get; set; } + public Task GetByteArrayAsync(string requestUri, CancellationToken cancellationToken); + public Task GetByteArrayAsync(Uri requestUri, CancellationToken cancellationToken); + public Task GetStreamAsync(string requestUri, CancellationToken cancellationToken); + public Task GetStreamAsync(Uri requestUri, CancellationToken cancellationToken); + public Task GetStringAsync(string requestUri, CancellationToken cancellationToken); + public Task GetStringAsync(Uri requestUri, CancellationToken cancellationToken); } public abstract class HttpContent : IDisposable { + public Task CopyToAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + public Task CopyToAsync(Stream stream, CancellationToken cancellationToken); + protected virtual Task CreateContentReadStreamAsync(CancellationToken cancellationToken); + public Task ReadAsByteArrayAsync(CancellationToken cancellationToken); + public Task ReadAsStreamAsync(CancellationToken cancellationToken); + public Task ReadAsStringAsync(CancellationToken cancellationToken); + protected virtual Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); } public class HttpRequestException : Exception { + public HttpRequestException(string message, Exception inner, HttpStatusCode? statusCode); + public HttpStatusCode? StatusCode { get; } } public class MultipartContent : HttpContent, IEnumerable, IEnumerable { + protected override Task CreateContentReadStreamAsync(CancellationToken cancellationToken); + protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); } public class MultipartFormDataContent : MultipartContent { + protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); } public sealed class ReadOnlyMemoryContent : HttpContent { + protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); } + public sealed class SocketsHttpHandler : HttpMessageHandler { + public SocketsHttpHandler(); + public bool AllowAutoRedirect { get; set; } + public DecompressionMethods AutomaticDecompression { get; set; } + public TimeSpan ConnectTimeout { get; set; } + public CookieContainer CookieContainer { get; set; } + public ICredentials Credentials { get; set; } + public ICredentials DefaultProxyCredentials { get; set; } + public TimeSpan Expect100ContinueTimeout { get; set; } + public int MaxAutomaticRedirections { get; set; } + public int MaxConnectionsPerServer { get; set; } + public int MaxResponseDrainSize { get; set; } + public int MaxResponseHeadersLength { get; set; } + public TimeSpan PooledConnectionIdleTimeout { get; set; } + public TimeSpan PooledConnectionLifetime { get; set; } + public bool PreAuthenticate { get; set; } + public IDictionary Properties { get; } + public IWebProxy Proxy { get; set; } + public TimeSpan ResponseDrainTimeout { get; set; } + public SslClientAuthenticationOptions SslOptions { get; set; } + public bool UseCookies { get; set; } + public bool UseProxy { get; set; } + protected override void Dispose(bool disposing); + protected internal override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken); + } public class StreamContent : HttpContent { + protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); } public class StringContent : ByteArrayContent { + protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); } } ```