]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/fetcher/webfinger.rs
Moving settings to Database. (#2492)
[lemmy.git] / crates / apub / src / fetcher / webfinger.rs
index 428c8d59a41c8ebffb40b722a989180f8638f3ca..0dfdfc2227accebb9e57e8a96efe9725b7b0ba58 100644 (file)
@@ -2,7 +2,8 @@ use crate::{local_instance, ActorType};
 use activitypub_federation::{core::object_id::ObjectId, traits::ApubObject};
 use anyhow::anyhow;
 use itertools::Itertools;
-use lemmy_db_schema::newtypes::DbUrl;
+use lemmy_api_common::utils::blocking;
+use lemmy_db_schema::{newtypes::DbUrl, source::local_site::LocalSite};
 use lemmy_utils::error::LemmyError;
 use lemmy_websocket::LemmyContext;
 use serde::{Deserialize, Serialize};
@@ -47,8 +48,14 @@ where
   );
   debug!("Fetching webfinger url: {}", &fetch_url);
 
+  let local_site = blocking(context.pool(), LocalSite::read).await?;
+  let http_fetch_retry_limit = local_site
+    .as_ref()
+    .map(|l| l.federation_http_fetch_retry_limit)
+    .unwrap_or(25);
+
   *request_counter += 1;
-  if *request_counter > context.settings().federation.http_fetch_retry_limit {
+  if *request_counter > http_fetch_retry_limit {
     return Err(LemmyError::from_message("Request retry limit reached"));
   }