AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.7.0" />

 RequesterExtensions

static class RequesterExtensions
Useful extensions for IRequester objects.
using AngleSharp.Network; using System.Diagnostics; using System.IO; using System.Threading; using System.Threading.Tasks; namespace AngleSharp.Extensions { [DebuggerStepThrough] internal static class RequesterExtensions { public static Task<IResponse> RequestAsync(this IRequester requester, IRequest request) { return requester.RequestAsync(request, CancellationToken.None); } public static Task<IResponse> LoadAsync(this IRequester requester, Url url) { return requester.LoadAsync(url, CancellationToken.None); } public static Task<IResponse> LoadAsync(this IRequester requester, Url url, CancellationToken cancel) { return requester.RequestAsync(new DefaultRequest { Address = url, Method = HttpMethod.Get }, cancel); } public static Task<IResponse> LoadWithCorsAsync(this IRequester requester, Url url, CorsSetting cors, string origin, OriginBehavior defaultBehavior) { return requester.LoadWithCorsAsync(url, cors, origin, defaultBehavior, CancellationToken.None); } public static Task<IResponse> LoadWithCorsAsync(this IRequester requester, Url url, CorsSetting cors, string origin, OriginBehavior defaultBehavior, CancellationToken cancel) { return requester.RequestAsync(new DefaultRequest { Address = url, Method = HttpMethod.Get }, cancel); } public static Task<IResponse> SendAsync(this IRequester requester, Url url, Stream content = null, string mimeType = null, HttpMethod method = HttpMethod.Post) { return requester.SendAsync(url, content, mimeType, method, CancellationToken.None); } public static Task<IResponse> SendAsync(this IRequester requester, Url url, Stream content, string mimeType, HttpMethod method, CancellationToken cancel) { DefaultRequest defaultRequest = new DefaultRequest(); defaultRequest.Address = url; defaultRequest.Content = content; defaultRequest.Method = method; DefaultRequest defaultRequest2 = defaultRequest; if (mimeType != null) defaultRequest2.Headers[HeaderNames.ContentType] = mimeType; return requester.RequestAsync(defaultRequest2, cancel); } } }