private async Task ExecuteAsync(RedirectHttpRequestScheduledTask task) { await Executor.ExecuteSilentlyAsync( async() => { var client = GetSimpleHttpClient(); var response = await client.GetAsync(new Uri(task.RequestUrl), HttpCompletionOption.ResponseHeadersRead, new CancellationTokenSource(task.Timeout).Token); task.ResponseRedirectUrl = response.RequestMessage.RequestUri.ToString(); }).ConfigureAwait(false); }
public async Task <string> ExecuteRedirectOnlyAsync(HttpRequestPriority priority, string urlWithRedirect) { var task = new RedirectHttpRequestScheduledTask(_config.DeadRequestTimeoutInMilliseconds) { RequestUrl = urlWithRedirect, Priority = priority }; AddNewTask(priority, task); await WaitForTaskCompletionAsync(task).ConfigureAwait(false); return(task.ResponseRedirectUrl); }