public static async Task <LinkCheckResult> CheckLink(string link)
    {
        var result = new LinkCheckResult();

        result.Link = link;
        using (var client = new HttpClient())
        {
            var request = new HttpRequestMessage(HttpMethod.Head, link);
            try
            {
                var response = await client.SendAsync(request);

                result.Problem = response.IsSuccessStatusCode
          ? null
          : response.StatusCode.ToString();
                return(result);
            }
            catch (HttpRequestException exception)
            {
                Logger.LogTrace(0, exception, "Failed to retrieve {link}", link);
                result.Problem = exception.Message;
                return(result);
            }
        }
    }
Esempio n. 2
0
 private void PrintOut(LinkCheckResult result)
 {
     _testOutput.WriteLine("Result link states:");
     _testOutput.WriteLine(string.Join(Environment.NewLine, result.LinkStates.Select((kvp) => $"{kvp.Key}: {kvp.Value}")));
 }