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);
}
}
}