Esempio n. 1
0
        /// <summary>
        /// Starts downloading the request.
        /// </summary>
        /// <param name="request">The request data.</param>
        /// <param name="originator">The request's originator.</param>
        /// <returns>The active download.</returns>
        protected virtual IDownload DownloadAsync(Request request, INode originator)
        {
            var cancel = new CancellationTokenSource();

            if (_filter.Invoke(request, originator))
            {
                var task     = LoadAsync(request, cancel.Token);
                var download = new Download(task, cancel, request.Address, originator);
                Add(download);
                task.ContinueWith(m => Remove(download));
                return(download);
            }

            return(new Download(TaskEx.FromResult(default(IResponse)), cancel, request.Address, originator));
        }
Esempio n. 2
0
 private void ApplyWebRequestFilters(HttpRequestMessage httpReq)
 {
     RequestFilter?.Invoke(httpReq);
     GlobalRequestFilter?.Invoke(httpReq);
 }
Esempio n. 3
0
 private void ApplyWebRequestFilters(HttpWebRequest client)
 {
     RequestFilter?.Invoke(client);
     GlobalRequestFilter?.Invoke(client);
 }
Esempio n. 4
0
 private void ApplyWebRequestFilters(HttpRequestMessage request)
 {
     RequestFilter?.Invoke(request);
 }