From 3b27dbb0aa058bf01d648ad0c1b3399ce97f6d0e Mon Sep 17 00:00:00 2001 From: BlackDex Date: Tue, 12 Feb 2019 21:56:28 +0100 Subject: [PATCH] Added config option for icon download timeout --- .env.template | 5 +++++ src/api/icons.rs | 2 +- src/config.rs | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.env.template b/.env.template index b7ae6eaa..b388e6ff 100644 --- a/.env.template +++ b/.env.template @@ -49,6 +49,11 @@ ## otherwise it will delete them and they won't be downloaded again. # DISABLE_ICON_DOWNLOAD=false +## Icon download timeout +## Configure the timeout value when downloading the favicons. +## The default is 10 seconds, but this could be to low on slower network connections +# ICON_DOWNLOAD_TIMEOUT=10 + ## Controls if new users can register # SIGNUPS_ALLOWED=true diff --git a/src/api/icons.rs b/src/api/icons.rs index b7479f56..e93eef81 100644 --- a/src/api/icons.rs +++ b/src/api/icons.rs @@ -26,7 +26,7 @@ lazy_static! { // Reuse the client between requests static ref CLIENT: Client = Client::builder() .gzip(true) - .timeout(Duration::from_secs(5)) + .timeout(Duration::from_secs(CONFIG.icon_download_timeout())) .default_headers(_header_map()) .build() .unwrap(); diff --git a/src/config.rs b/src/config.rs index d7839a8e..fd153678 100644 --- a/src/config.rs +++ b/src/config.rs @@ -241,6 +241,8 @@ make_config! { icon_cache_ttl: u64, true, def, 2_592_000; /// Negative icon cache expiry |> Number of seconds before trying to download an icon that failed again. icon_cache_negttl: u64, true, def, 259_200; + /// Icon download timeout |> Number of seconds when to stop attempting to download an icon. + icon_download_timeout: u64, true, def, 10; /// Reload templates (Dev) |> When this is set to true, the templates get reloaded with every request. ONLY use this during development, as it can slow down the server reload_templates: bool, true, def, false;