ResourceLoader
Represents the default resource loader. This class can be inherited.
using AngleSharp.Dom;
using AngleSharp.Events;
using AngleSharp.Extensions;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AngleSharp.Network.Default
{
public class ResourceLoader : IResourceLoader
{
private readonly IEnumerable<IRequester> _requesters;
private readonly IDocument _document;
public ResourceLoader(IEnumerable<IRequester> requesters, IDocument document)
{
_requesters = requesters;
_document = document;
}
public virtual Task<IResponse> LoadAsync(ResourceRequest request, CancellationToken cancel)
{
IEventAggregator events = _document.Context.Configuration.Events;
Request request2 = new Request();
request2.Address = request.Target;
request2.Method = HttpMethod.Get;
Request request3 = request2;
request3.Headers[HeaderNames.Referer] = request.Source.Owner.DocumentUri;
return _requesters.LoadAsync(request3, events, cancel);
}
}
}