From cc32b3dfae4bcbca25440f97cc580db2025e6628 Mon Sep 17 00:00:00 2001 From: Glax Date: Wed, 15 Jan 2025 22:24:55 +0100 Subject: [PATCH] TrangaSettings Chromium Timeouts --- Tranga/MangaConnectors/ChromiumDownloadClient.cs | 7 ++++--- Tranga/TrangaSettings.cs | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Tranga/MangaConnectors/ChromiumDownloadClient.cs b/Tranga/MangaConnectors/ChromiumDownloadClient.cs index 3b5e63d..c4de50f 100644 --- a/Tranga/MangaConnectors/ChromiumDownloadClient.cs +++ b/Tranga/MangaConnectors/ChromiumDownloadClient.cs @@ -10,7 +10,6 @@ namespace Tranga.MangaConnectors; internal class ChromiumDownloadClient : DownloadClient { private static IBrowser? _browser; - private const int StartTimeoutMs = 10000; private readonly HttpDownloadClient _httpDownloadClient; private static async Task StartBrowser(Logging.Logger? logger = null) @@ -24,7 +23,7 @@ internal class ChromiumDownloadClient : DownloadClient "--disable-dev-shm-usage", "--disable-setuid-sandbox", "--no-sandbox"}, - Timeout = StartTimeoutMs + Timeout = TrangaSettings.ChromiumStartupTimeoutMs }, new LoggerFactory([new LogProvider(logger)])); } @@ -70,8 +69,10 @@ internal class ChromiumDownloadClient : DownloadClient private RequestResult MakeRequestBrowser(string url, string? referrer = null, string? clickButton = null) { + if (_browser is null) + return new RequestResult(HttpStatusCode.InternalServerError, null, Stream.Null); IPage page = _browser.NewPageAsync().Result; - page.DefaultTimeout = 10000; + page.DefaultTimeout = TrangaSettings.ChromiumPageTimeoutMs; IResponse response; try { diff --git a/Tranga/TrangaSettings.cs b/Tranga/TrangaSettings.cs index ccfa997..3558574 100644 --- a/Tranga/TrangaSettings.cs +++ b/Tranga/TrangaSettings.cs @@ -35,6 +35,8 @@ public static class TrangaSettings }; public static Dictionary requestLimits { get; set; } = DefaultRequestLimits; + public static int ChromiumStartupTimeoutMs { get; set; } = 30000; + public static int ChromiumPageTimeoutMs { get; set; } = 30000; public static void LoadFromWorkingDirectory(string directory) {