AngleSharp by Florian Rappl

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

 DocumentLoader

Represents the default document loader. This class can be inherited.
using AngleSharp.Events; using AngleSharp.Extensions; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AngleSharp.Network.Default { public class DocumentLoader : IDocumentLoader { private readonly IEnumerable<IRequester> _requesters; private readonly IBrowsingContext _context; public DocumentLoader(IEnumerable<IRequester> requesters, IBrowsingContext context) { _requesters = requesters; _context = context; } public virtual Task<IResponse> LoadAsync(DocumentRequest request, CancellationToken cancel) { IEventAggregator events = _context.Configuration.Events; Request request2 = new Request(); request2.Address = request.Target; request2.Content = request.Body; request2.Method = request.Method; Request request3 = request2; if (request.MimeType != null) request3.Headers[HeaderNames.ContentType] = request.MimeType; if (request.Referer != null) request3.Headers[HeaderNames.Referer] = request.Referer; return _requesters.LoadAsync(request3, events, cancel); } } }