Browse Source

Merge pull request #394 from BlackDex/icon-timeout

Added config option for icon download timeout
Daniel García 6 years ago
parent
commit
4b57bb8eeb
3 changed files with 8 additions and 1 deletions
  1. 5 0
      .env.template
  2. 1 1
      src/api/icons.rs
  3. 2 0
      src/config.rs

+ 5 - 0
.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
 

+ 1 - 1
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();

+ 2 - 0
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;