private_key: actor.private_key().context(location_info!())?,
};
if env::var("LEMMY_TEST_SEND_SYNC").is_ok() {
- do_send(message, &Client::default()).await?;
+ do_send(message, context.client()).await?;
} else {
context.activity_queue.queue::<SendActivityTask>(message)?;
}
-use crate::{settings::structs::Settings, LemmyError};
+use crate::{settings::structs::Settings, version::VERSION, LemmyError};
use anyhow::anyhow;
use log::error;
use percent_encoding::{utf8_percent_encode, NON_ALPHANUMERIC};
}
}
+pub fn build_user_agent(settings: &Settings) -> String {
+ format!(
+ "Lemmy/{}; +{}",
+ VERSION,
+ settings.get_protocol_and_hostname()
+ )
+}
+
#[cfg(test)]
mod tests {
- use crate::request::fetch_site_metadata;
+ use crate::request::{build_user_agent, fetch_site_metadata};
use url::Url;
use super::SiteMetadata;
+ use crate::settings::structs::Settings;
// These helped with testing
#[actix_rt::test]
async fn test_site_metadata() {
- let client = reqwest::Client::default();
+ let settings = Settings::init().unwrap();
+ let client = reqwest::Client::builder()
+ .user_agent(build_user_agent(&settings))
+ .build()
+ .unwrap();
let sample_url = Url::parse("https://www.redspark.nu/en/peoples-war/district-leader-of-chand-led-cpn-arrested-in-bhojpur/").unwrap();
let sample_res = fetch_site_metadata(&client, &sample_url).await.unwrap();
assert_eq!(
use lemmy_server::{api_routes, code_migrations::run_advanced_migrations, scheduled_tasks};
use lemmy_utils::{
rate_limit::{rate_limiter::RateLimiter, RateLimit},
+ request::build_user_agent,
settings::structs::Settings,
LemmyError,
};
settings.bind, settings.port
);
+ let client = Client::builder()
+ .user_agent(build_user_agent(&settings))
+ .build()?;
+
let activity_queue = create_activity_queue();
let chat_server = ChatServer::startup(
rate_limiter.clone(),
|c, i, o, d| Box::pin(match_websocket_operation(c, i, o, d)),
|c, i, o, d| Box::pin(match_websocket_operation_crud(c, i, o, d)),
- Client::default(),
+ client.clone(),
activity_queue.clone(),
settings.clone(),
secret.clone(),
let context = LemmyContext::create(
pool.clone(),
chat_server.to_owned(),
- Client::default(),
+ client.clone(),
activity_queue.to_owned(),
settings.to_owned(),
secret.to_owned(),