Better Debugging for HttpDownloadClient

This commit is contained in:
2025-06-17 18:52:27 +02:00
parent 07b260dea6
commit b5411e9c6c

View File

@ -31,19 +31,28 @@ internal class HttpDownloadClient : DownloadClient
if (!response.IsSuccessStatusCode) if (!response.IsSuccessStatusCode)
{ {
Log.Debug($"Request returned status code {(int)response.StatusCode} {response.StatusCode}:\n" + Log.Debug($"Request returned status code {(int)response.StatusCode} {response.StatusCode}");
$"=====\n" + if (response.Headers.Server.Any(s =>
$"Request:\n" + (s.Product?.Name ?? "").Contains("cloudflare", StringComparison.InvariantCultureIgnoreCase)))
$"{requestMessage.Method} {requestMessage.RequestUri}\n" + {
$"{requestMessage.Version} {requestMessage.VersionPolicy}\n" + Log.Debug("Retrying with FlareSolverr!");
$"Headers:\n\t{string.Join("\n\t", requestMessage.Headers.Select(h => $"{h.Key}: <{string.Join(">, <", h.Value)}"))}>\n" + return new FlareSolverrDownloadClient().MakeRequestInternal(url, referrer, clickButton);
$"{requestMessage.Content?.ReadAsStringAsync().Result}" + }
$"=====\n" + else
$"Response:\n" + {
$"{response.Version}\n" + Log.Debug($"Request returned status code {(int)response.StatusCode} {response.StatusCode}:\n" +
$"Headers:\n\t{string.Join("\n\t", response.Headers.Select(h => $"{h.Key}: <{string.Join(">, <", h.Value)}"))}>\n" + $"=====\n" +
$"{response.Content.ReadAsStringAsync().Result}"); $"Request:\n" +
return new FlareSolverrDownloadClient().MakeRequestInternal(url, referrer, clickButton); $"{requestMessage.Method} {requestMessage.RequestUri}\n" +
$"{requestMessage.Version} {requestMessage.VersionPolicy}\n" +
$"Headers:\n\t{string.Join("\n\t", requestMessage.Headers.Select(h => $"{h.Key}: <{string.Join(">, <", h.Value)}"))}>\n" +
$"{requestMessage.Content?.ReadAsStringAsync().Result}" +
$"=====\n" +
$"Response:\n" +
$"{response.Version}\n" +
$"Headers:\n\t{string.Join("\n\t", response.Headers.Select(h => $"{h.Key}: <{string.Join(">, <", h.Value)}"))}>\n" +
$"{response.Content.ReadAsStringAsync().Result}");
}
} }
Stream stream; Stream stream;