mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
HttpWebClient: Attempt to fix "Too many open files" in unix environments
This commit is contained in:
@@ -27,7 +27,7 @@ namespace Jackett.Utils.Clients
|
||||
{
|
||||
if (Startup.IgnoreSslErrors == true)
|
||||
{
|
||||
logger.Info(string.Format("WindowsWebClient: Disabling certificate validation"));
|
||||
logger.Info(string.Format("HttpWebClient: Disabling certificate validation"));
|
||||
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => { return true; };
|
||||
}
|
||||
}
|
||||
@@ -60,8 +60,9 @@ namespace Jackett.Utils.Clients
|
||||
useProxy = true;
|
||||
}
|
||||
|
||||
ClearanceHandler clearanceHandlr = new ClearanceHandler();
|
||||
HttpClientHandler clientHandlr = new HttpClientHandler
|
||||
using (ClearanceHandler clearanceHandlr = new ClearanceHandler())
|
||||
{
|
||||
using (HttpClientHandler clientHandlr = new HttpClientHandler
|
||||
{
|
||||
CookieContainer = cookies,
|
||||
AllowAutoRedirect = false, // Do not use this - Bugs ahoy! Lost cookies and more.
|
||||
@@ -69,18 +70,20 @@ namespace Jackett.Utils.Clients
|
||||
Proxy = proxyServer,
|
||||
UseProxy = useProxy,
|
||||
AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
|
||||
};
|
||||
})
|
||||
{
|
||||
|
||||
clearanceHandlr.InnerHandler = clientHandlr;
|
||||
var client = new HttpClient(clearanceHandlr);
|
||||
|
||||
using (var client = new HttpClient(clearanceHandlr))
|
||||
{
|
||||
if (webRequest.EmulateBrowser)
|
||||
client.DefaultRequestHeaders.Add("User-Agent", BrowserUtil.ChromeUserAgent);
|
||||
else
|
||||
client.DefaultRequestHeaders.Add("User-Agent", "Jackett/" + configService.GetVersion());
|
||||
|
||||
HttpResponseMessage response = null;
|
||||
var request = new HttpRequestMessage();
|
||||
using (var request = new HttpRequestMessage())
|
||||
{
|
||||
request.Headers.ExpectContinue = false;
|
||||
request.RequestUri = new Uri(webRequest.Url);
|
||||
|
||||
@@ -100,7 +103,7 @@ namespace Jackett.Utils.Clients
|
||||
|
||||
if (!string.IsNullOrEmpty(webRequest.RawBody))
|
||||
{
|
||||
var type = webRequest.Headers.Where(h => h.Key == "Content-Type").Cast<KeyValuePair<string,string>?>().FirstOrDefault();
|
||||
var type = webRequest.Headers.Where(h => h.Key == "Content-Type").Cast<KeyValuePair<string, string>?>().FirstOrDefault();
|
||||
if (type.HasValue)
|
||||
{
|
||||
var str = new StringContent(webRequest.RawBody);
|
||||
@@ -122,8 +125,8 @@ namespace Jackett.Utils.Clients
|
||||
request.Method = HttpMethod.Get;
|
||||
}
|
||||
|
||||
response = await client.SendAsync(request);
|
||||
|
||||
using (response = await client.SendAsync(request))
|
||||
{
|
||||
var result = new WebClientByteResult();
|
||||
result.Content = await response.Content.ReadAsByteArrayAsync();
|
||||
|
||||
@@ -195,4 +198,9 @@ namespace Jackett.Utils.Clients
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user