refactor reqwest client suite w/ conf items.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-03-16 15:54:58 -07:00 committed by June
parent 61b1d6d869
commit 9334f938ae
7 changed files with 173 additions and 96 deletions

View file

@ -47,7 +47,7 @@ where
*reqwest_request.timeout_mut() = Some(Duration::from_secs(120));
let url = reqwest_request.url().clone();
let mut response = match services().globals.default_client().execute(reqwest_request).await {
let mut response = match services().globals.client.appservice.execute(reqwest_request).await {
Ok(r) => r,
Err(e) => {
warn!(

View file

@ -707,7 +707,7 @@ fn url_request_allowed(addr: &IpAddr) -> bool {
}
async fn request_url_preview(url: &str) -> Result<UrlPreviewData> {
let client = services().globals.url_preview_client();
let client = &services().globals.client.url_preview;
let response = client.head(url).send().await?;
if !response.remote_addr().map_or(false, |a| url_request_allowed(&a.ip())) {
@ -722,8 +722,8 @@ async fn request_url_preview(url: &str) -> Result<UrlPreviewData> {
None => return Err(Error::BadRequest(ErrorKind::Unknown, "Unknown Content-Type")),
};
let data = match content_type {
html if html.starts_with("text/html") => download_html(&client, url).await?,
img if img.starts_with("image/") => download_image(&client, url).await?,
html if html.starts_with("text/html") => download_html(client, url).await?,
img if img.starts_with("image/") => download_image(client, url).await?,
_ => return Err(Error::BadRequest(ErrorKind::Unknown, "Unsupported Content-Type")),
};

View file

@ -239,7 +239,7 @@ where
let url = reqwest_request.url().clone();
debug!("Sending request to {destination} at {url}");
let response = services().globals.federation_client().execute(reqwest_request).await;
let response = services().globals.client.federation.execute(reqwest_request).await;
debug!("Received response from {destination} at {url}");
match response {
@ -517,7 +517,8 @@ async fn request_well_known(destination: &str) -> Option<String> {
let response = services()
.globals
.default_client()
.client
.well_known
.get(&format!("https://{destination}/.well-known/matrix/server"))
.send()
.await;