mirror of
https://github.com/LemmyNet/activitypub-federation-rust.git
synced 2025-05-20 01:18:52 +00:00
Upgrading deps.
This commit is contained in:
parent
ce83767180
commit
145c1ec85a
6 changed files with 74 additions and 35 deletions
56
Cargo.toml
56
Cargo.toml
|
@ -32,67 +32,67 @@ redundant_closure_for_method_calls = "deny"
|
||||||
unwrap_used = "deny"
|
unwrap_used = "deny"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
chrono = { version = "0.4.38", features = ["clock"], default-features = false }
|
chrono = { version = "0.4.39", features = ["clock"], default-features = false }
|
||||||
serde = { version = "1.0.204", features = ["derive"] }
|
serde = { version = "1.0.217", features = ["derive"] }
|
||||||
async-trait = "0.1.81"
|
async-trait = "0.1.85"
|
||||||
url = { version = "2.5.2", features = ["serde"] }
|
url = { version = "2.5.4", features = ["serde"] }
|
||||||
serde_json = { version = "1.0.120", features = ["preserve_order"] }
|
serde_json = { version = "1.0.137", features = ["preserve_order"] }
|
||||||
reqwest = { version = "0.12.5", default-features = false, features = [
|
reqwest = { version = "0.12.12", default-features = false, features = [
|
||||||
"json",
|
"json",
|
||||||
"stream",
|
"stream",
|
||||||
"rustls-tls",
|
"rustls-tls",
|
||||||
] }
|
] }
|
||||||
reqwest-middleware = "0.3.2"
|
reqwest-middleware = "0.4.0"
|
||||||
tracing = "0.1.40"
|
tracing = "0.1.41"
|
||||||
base64 = "0.22.1"
|
base64 = "0.22.1"
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
rsa = "0.9.6"
|
rsa = "0.9.7"
|
||||||
once_cell = "1.19.0"
|
once_cell = "1.20.2"
|
||||||
http = "1.1.0"
|
http = "1.2.0"
|
||||||
sha2 = { version = "0.10.8", features = ["oid"] }
|
sha2 = { version = "0.10.8", features = ["oid"] }
|
||||||
thiserror = "1.0.62"
|
thiserror = "2.0.11"
|
||||||
derive_builder = "0.20.0"
|
derive_builder = "0.20.2"
|
||||||
itertools = "0.13.0"
|
itertools = "0.14.0"
|
||||||
dyn-clone = "1.0.17"
|
dyn-clone = "1.0.17"
|
||||||
enum_delegate = "0.2.0"
|
enum_delegate = "0.2.0"
|
||||||
httpdate = "1.0.3"
|
httpdate = "1.0.3"
|
||||||
http-signature-normalization-reqwest = { version = "0.12.0", default-features = false, features = [
|
http-signature-normalization-reqwest = { version = "0.13.0", default-features = false, features = [
|
||||||
"sha-2",
|
"sha-2",
|
||||||
"middleware",
|
"middleware",
|
||||||
"default-spawner",
|
"default-spawner",
|
||||||
] }
|
] }
|
||||||
http-signature-normalization = "0.7.0"
|
http-signature-normalization = "0.7.0"
|
||||||
bytes = "1.6.1"
|
bytes = "1.9.0"
|
||||||
futures-core = { version = "0.3.30", default-features = false }
|
futures-core = { version = "0.3.31", default-features = false }
|
||||||
pin-project-lite = "0.2.14"
|
pin-project-lite = "0.2.16"
|
||||||
activitystreams-kinds = "0.3.0"
|
activitystreams-kinds = "0.3.0"
|
||||||
regex = { version = "1.10.5", default-features = false, features = [
|
regex = { version = "1.11.1", default-features = false, features = [
|
||||||
"std",
|
"std",
|
||||||
"unicode",
|
"unicode",
|
||||||
] }
|
] }
|
||||||
tokio = { version = "1.38.0", features = [
|
tokio = { version = "1.43.0", features = [
|
||||||
"sync",
|
"sync",
|
||||||
"rt",
|
"rt",
|
||||||
"rt-multi-thread",
|
"rt-multi-thread",
|
||||||
"time",
|
"time",
|
||||||
] }
|
] }
|
||||||
diesel = { version = "2.2.1", features = [
|
diesel = { version = "2.2.6", features = [
|
||||||
"postgres",
|
"postgres",
|
||||||
], default-features = false, optional = true }
|
], default-features = false, optional = true }
|
||||||
futures = "0.3.30"
|
futures = "0.3.31"
|
||||||
moka = { version = "0.12.8", features = ["future"] }
|
moka = { version = "0.12.10", features = ["future"] }
|
||||||
|
|
||||||
# Actix-web
|
# Actix-web
|
||||||
actix-web = { version = "4.8.0", default-features = false, optional = true }
|
actix-web = { version = "4.9.0", default-features = false, optional = true }
|
||||||
http02 = { package = "http", version = "0.2.12", optional = true }
|
http02 = { package = "http", version = "0.2.12", optional = true }
|
||||||
|
|
||||||
# Axum
|
# Axum
|
||||||
axum = { version = "0.7.5", features = ["json"], default-features = false, optional = true }
|
axum = { version = "0.8.2", features = ["json"], default-features = false, optional = true }
|
||||||
tower = { version = "0.4.13", optional = true }
|
tower = { version = "0.5.2", optional = true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
anyhow = "1.0.86"
|
anyhow = "1.0.95"
|
||||||
axum = { version = "0.7.5", features = ["macros"] }
|
axum = { version = "0.8.2", features = ["macros"] }
|
||||||
axum-extra = { version = "0.9.3", features = ["typed-header"] }
|
axum-extra = { version = "0.9.3", features = ["typed-header"] }
|
||||||
env_logger = "0.11.3"
|
env_logger = "0.11.3"
|
||||||
tokio = { version = "1.38.0", features = ["full"] }
|
tokio = { version = "1.38.0", features = ["full"] }
|
||||||
|
|
|
@ -361,10 +361,10 @@ impl ActivityQueue {
|
||||||
pub(crate) async fn shutdown(self, wait_for_retries: bool) -> Result<Arc<Stats>, Error> {
|
pub(crate) async fn shutdown(self, wait_for_retries: bool) -> Result<Arc<Stats>, Error> {
|
||||||
drop(self.sender);
|
drop(self.sender);
|
||||||
|
|
||||||
self.sender_task.await?;
|
self.sender_task.await.map_err(|_| Error::NotFound)?;
|
||||||
|
|
||||||
if wait_for_retries {
|
if wait_for_retries {
|
||||||
self.retry_sender_task.await?;
|
self.retry_sender_task.await.map_err(|_| Error::NotFound)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(self.stats)
|
Ok(self.stats)
|
||||||
|
|
|
@ -9,8 +9,8 @@ use crate::{
|
||||||
parse_received_activity,
|
parse_received_activity,
|
||||||
traits::{ActivityHandler, Actor, Object},
|
traits::{ActivityHandler, Actor, Object},
|
||||||
};
|
};
|
||||||
|
use async_trait::async_trait;
|
||||||
use axum::{
|
use axum::{
|
||||||
async_trait,
|
|
||||||
body::Body,
|
body::Body,
|
||||||
extract::FromRequest,
|
extract::FromRequest,
|
||||||
http::{Request, StatusCode},
|
http::{Request, StatusCode},
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
use crate::config::{Data, FederationConfig, FederationMiddleware};
|
use crate::config::{Data, FederationConfig, FederationMiddleware};
|
||||||
use axum::{async_trait, body::Body, extract::FromRequestParts, http::Request, response::Response};
|
use async_trait::async_trait;
|
||||||
|
use axum::{body::Body, extract::FromRequestParts, http::Request, response::Response};
|
||||||
use http::{request::Parts, StatusCode};
|
use http::{request::Parts, StatusCode};
|
||||||
use std::task::{Context, Poll};
|
use std::task::{Context, Poll};
|
||||||
use tower::{Layer, Service};
|
use tower::{Layer, Service};
|
||||||
|
|
36
src/error.rs
36
src/error.rs
|
@ -101,6 +101,42 @@ impl From<SpkiError> for Error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl From<url::ParseError> for Error {
|
||||||
|
fn from(value: url::ParseError) -> Self {
|
||||||
|
Error::UrlParse(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<WebFingerError> for Error {
|
||||||
|
fn from(value: WebFingerError) -> Self {
|
||||||
|
Error::WebfingerResolveFailed(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<FromUtf8Error> for Error {
|
||||||
|
fn from(value: FromUtf8Error) -> Self {
|
||||||
|
Error::Utf8(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<SignError> for Error {
|
||||||
|
fn from(value: SignError) -> Self {
|
||||||
|
Error::SignError(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<reqwest::Error> for Error {
|
||||||
|
fn from(value: reqwest::Error) -> Self {
|
||||||
|
Error::Reqwest(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<reqwest_middleware::Error> for Error {
|
||||||
|
fn from(value: reqwest_middleware::Error) -> Self {
|
||||||
|
Error::ReqwestMiddleware(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl PartialEq for Error {
|
impl PartialEq for Error {
|
||||||
fn eq(&self, other: &Self) -> bool {
|
fn eq(&self, other: &Self) -> bool {
|
||||||
std::mem::discriminant(self) == std::mem::discriminant(other)
|
std::mem::discriminant(self) == std::mem::discriminant(other)
|
||||||
|
|
|
@ -126,12 +126,14 @@ where
|
||||||
// TODO: This should use a URL parser
|
// TODO: This should use a URL parser
|
||||||
let captures = WEBFINGER_REGEX
|
let captures = WEBFINGER_REGEX
|
||||||
.captures(query)
|
.captures(query)
|
||||||
.ok_or(WebFingerError::WrongFormat)?;
|
.ok_or(WebFingerError::WrongFormat.into_crate_error())?;
|
||||||
|
|
||||||
let account_name = captures.get(1).ok_or(WebFingerError::WrongFormat)?;
|
let account_name = captures
|
||||||
|
.get(1)
|
||||||
|
.ok_or(WebFingerError::WrongFormat.into_crate_error())?;
|
||||||
|
|
||||||
if captures.get(2).map(|m| m.as_str()) != Some(data.domain()) {
|
if captures.get(2).map(|m| m.as_str()) != Some(data.domain()) {
|
||||||
return Err(WebFingerError::WrongDomain.into());
|
return Err(WebFingerError::WrongDomain.into_crate_error());
|
||||||
}
|
}
|
||||||
Ok(account_name.as_str())
|
Ok(account_name.as_str())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue