use anyhow::anyhow;
use chrono::{Duration as ChronoDuration, NaiveDateTime, Utc};
use diesel::NotFound;
-use lemmy_utils::{request::retry, settings::structs::Settings, LemmyError};
+use lemmy_utils::{request::retry, settings::structs::Settings, LemmyError, REQWEST_TIMEOUT};
use reqwest::StatusCode;
use reqwest_middleware::ClientWithMiddleware;
use serde::{Deserialize, Serialize};
use std::{
fmt::{Debug, Display, Formatter},
marker::PhantomData,
- time::Duration,
};
use tracing::info;
use url::Url;
client
.get(self.0.as_str())
.header("Accept", APUB_JSON_CONTENT_TYPE)
- .timeout(Duration::from_secs(60))
+ .timeout(REQWEST_TIMEOUT)
.send()
})
.await?;
use http::{header::HeaderName, HeaderMap, HeaderValue};
use http_signature_normalization_actix::Config as ConfigActix;
use http_signature_normalization_reqwest::prelude::{Config, SignExt};
-use lemmy_utils::LemmyError;
+use lemmy_utils::{LemmyError, REQWEST_TIMEOUT};
use once_cell::sync::Lazy;
use openssl::{
hash::MessageDigest,
use reqwest_middleware::ClientWithMiddleware;
use serde::{Deserialize, Serialize};
use sha2::{Digest, Sha256};
-use std::{str::FromStr, time::Duration};
+use std::str::FromStr;
use tracing::debug;
use url::Url;
let request = client
.post(&inbox_url.to_string())
// signature is only valid for 10 seconds, so no reason to wait any longer
- .timeout(Duration::from_secs(10))
+ .timeout(REQWEST_TIMEOUT)
.headers(headers)
.signature_with_digest(
HTTP_SIG_CONFIG.clone(),
};
use anyhow::anyhow;
use futures::stream::{Stream, StreamExt};
-use lemmy_utils::{claims::Claims, rate_limit::RateLimit, LemmyError};
+use lemmy_utils::{claims::Claims, rate_limit::RateLimit, LemmyError, REQWEST_TIMEOUT};
use lemmy_websocket::LemmyContext;
use reqwest::Body;
use reqwest_middleware::{ClientWithMiddleware, RequestBuilder};
use serde::{Deserialize, Serialize};
-use std::time::Duration;
pub fn config(cfg: &mut web::ServiceConfig, client: ClientWithMiddleware, rate_limit: &RateLimit) {
cfg
let client_request = client
.request(request.method().clone(), url)
- .timeout(Duration::from_secs(30));
+ .timeout(REQWEST_TIMEOUT);
request
.headers()
use actix_web::HttpResponse;
use http::StatusCode;
-use std::{fmt, fmt::Display};
+use std::{fmt, fmt::Display, time::Duration};
use tracing_error::SpanTrace;
pub type ConnectionId = usize;
+pub const REQWEST_TIMEOUT: Duration = Duration::from_secs(10);
+
#[derive(PartialEq, Eq, Hash, Debug, Clone)]
pub struct IpAddr(pub String);
-use crate::{settings::structs::Settings, version::VERSION, LemmyError};
+use crate::{settings::structs::Settings, version::VERSION, LemmyError, REQWEST_TIMEOUT};
use anyhow::anyhow;
use encoding::{all::encodings, DecoderTrap};
use percent_encoding::{utf8_percent_encode, NON_ALPHANUMERIC};
use reqwest_middleware::ClientWithMiddleware;
use serde::{Deserialize, Serialize};
-use std::{future::Future, time::Duration};
+use std::future::Future;
use thiserror::Error;
use tracing::{error, info};
use url::Url;
info!("Fetching site metadata for url: {}", url);
let response = client
.get(url.as_str())
- .timeout(Duration::from_secs(30))
+ .timeout(REQWEST_TIMEOUT)
.send()
.await?;
let response = client
.get(&fetch_url)
- .timeout(Duration::from_secs(30))
+ .timeout(REQWEST_TIMEOUT)
.send()
.await?;
async fn is_image_content_type(client: &ClientWithMiddleware, url: &Url) -> Result<(), LemmyError> {
let response = client
.get(url.as_str())
- .timeout(Duration::from_secs(30))
+ .timeout(REQWEST_TIMEOUT)
.send()
.await?;
if response
request::build_user_agent,
settings::structs::Settings,
LemmyError,
+ REQWEST_TIMEOUT,
};
use lemmy_websocket::{chat_server::ChatServer, LemmyContext};
use reqwest::Client;
use reqwest_middleware::ClientBuilder;
use reqwest_tracing::TracingMiddleware;
-use std::{env, sync::Arc, thread, time::Duration};
+use std::{env, sync::Arc, thread};
use tokio::sync::Mutex;
use tracing_actix_web::TracingLogger;
let client = Client::builder()
.user_agent(build_user_agent(&settings))
- .timeout(Duration::from_secs(10))
+ .timeout(REQWEST_TIMEOUT)
.build()?;
let client = ClientBuilder::new(client).with(TracingMiddleware).build();