mirror of
https://github.com/LemmyNet/lemmy
synced 2024-11-14 00:37:07 +00:00
* Adding a user agent. Fixes #1769 * Fix client duplicate creation.
This commit is contained in:
parent
5a281445a3
commit
9c50cbf431
3 changed files with 24 additions and 6 deletions
|
@ -89,7 +89,7 @@ where
|
||||||
private_key: actor.private_key().context(location_info!())?,
|
private_key: actor.private_key().context(location_info!())?,
|
||||||
};
|
};
|
||||||
if env::var("LEMMY_TEST_SEND_SYNC").is_ok() {
|
if env::var("LEMMY_TEST_SEND_SYNC").is_ok() {
|
||||||
do_send(message, &Client::default()).await?;
|
do_send(message, context.client()).await?;
|
||||||
} else {
|
} else {
|
||||||
context.activity_queue.queue::<SendActivityTask>(message)?;
|
context.activity_queue.queue::<SendActivityTask>(message)?;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use crate::{settings::structs::Settings, LemmyError};
|
use crate::{settings::structs::Settings, version::VERSION, LemmyError};
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use log::error;
|
use log::error;
|
||||||
use percent_encoding::{utf8_percent_encode, NON_ALPHANUMERIC};
|
use percent_encoding::{utf8_percent_encode, NON_ALPHANUMERIC};
|
||||||
|
@ -216,17 +216,30 @@ async fn is_image_content_type(client: &Client, test: &Url) -> Result<(), LemmyE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn build_user_agent(settings: &Settings) -> String {
|
||||||
|
format!(
|
||||||
|
"Lemmy/{}; +{}",
|
||||||
|
VERSION,
|
||||||
|
settings.get_protocol_and_hostname()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::request::fetch_site_metadata;
|
use crate::request::{build_user_agent, fetch_site_metadata};
|
||||||
use url::Url;
|
use url::Url;
|
||||||
|
|
||||||
use super::SiteMetadata;
|
use super::SiteMetadata;
|
||||||
|
use crate::settings::structs::Settings;
|
||||||
|
|
||||||
// These helped with testing
|
// These helped with testing
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_site_metadata() {
|
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_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();
|
let sample_res = fetch_site_metadata(&client, &sample_url).await.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
|
|
@ -17,6 +17,7 @@ use lemmy_routes::{feeds, images, nodeinfo, webfinger};
|
||||||
use lemmy_server::{api_routes, code_migrations::run_advanced_migrations, scheduled_tasks};
|
use lemmy_server::{api_routes, code_migrations::run_advanced_migrations, scheduled_tasks};
|
||||||
use lemmy_utils::{
|
use lemmy_utils::{
|
||||||
rate_limit::{rate_limiter::RateLimiter, RateLimit},
|
rate_limit::{rate_limiter::RateLimiter, RateLimit},
|
||||||
|
request::build_user_agent,
|
||||||
settings::structs::Settings,
|
settings::structs::Settings,
|
||||||
LemmyError,
|
LemmyError,
|
||||||
};
|
};
|
||||||
|
@ -72,6 +73,10 @@ async fn main() -> Result<(), LemmyError> {
|
||||||
settings.bind, settings.port
|
settings.bind, settings.port
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let client = Client::builder()
|
||||||
|
.user_agent(build_user_agent(&settings))
|
||||||
|
.build()?;
|
||||||
|
|
||||||
let activity_queue = create_activity_queue();
|
let activity_queue = create_activity_queue();
|
||||||
|
|
||||||
let chat_server = ChatServer::startup(
|
let chat_server = ChatServer::startup(
|
||||||
|
@ -79,7 +84,7 @@ async fn main() -> Result<(), LemmyError> {
|
||||||
rate_limiter.clone(),
|
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(c, i, o, d)),
|
||||||
|c, i, o, d| Box::pin(match_websocket_operation_crud(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(),
|
activity_queue.clone(),
|
||||||
settings.clone(),
|
settings.clone(),
|
||||||
secret.clone(),
|
secret.clone(),
|
||||||
|
@ -92,7 +97,7 @@ async fn main() -> Result<(), LemmyError> {
|
||||||
let context = LemmyContext::create(
|
let context = LemmyContext::create(
|
||||||
pool.clone(),
|
pool.clone(),
|
||||||
chat_server.to_owned(),
|
chat_server.to_owned(),
|
||||||
Client::default(),
|
client.clone(),
|
||||||
activity_queue.to_owned(),
|
activity_queue.to_owned(),
|
||||||
settings.to_owned(),
|
settings.to_owned(),
|
||||||
secret.to_owned(),
|
secret.to_owned(),
|
||||||
|
|
Loading…
Reference in a new issue