From ac2b7882ae456e1510331f678302cee9eeea5f61 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Mon, 16 Jun 2025 15:35:19 +0200 Subject: [PATCH] sync version working --- src/actix_web/inbox.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/actix_web/inbox.rs b/src/actix_web/inbox.rs index 6dd9ef3..6f4fafc 100644 --- a/src/actix_web/inbox.rs +++ b/src/actix_web/inbox.rs @@ -10,16 +10,19 @@ use crate::{ }; use actix_web::{web::Bytes, HttpRequest, HttpResponse}; use serde::de::DeserializeOwned; -use std::future::Future; use tracing::debug; /// Handles incoming activities, verifying HTTP signatures and other checks /// /// After successful validation, activities are passed to respective [trait@ActivityHandler]. -pub async fn receive_activity( +pub async fn receive_activity( request: HttpRequest, body: Bytes, - hook: impl FnOnce(&Activity, &ActorT) -> Fut, + hook: impl FnOnce( + &Activity, + &ActorT, + &Data, + ) -> Result<(), ::Error>, data: &Data, ) -> Result::Error> where @@ -29,7 +32,6 @@ where ::Error: From + From<::Error>, ::Error: From, Datatype: Clone, - Fut: Future::Error>>, { let digest_header = request .headers() @@ -44,7 +46,7 @@ where let uri = http_compat::uri(request.uri()); verify_signature(&headers, &method, &uri, actor.public_key_pem())?; - hook(&activity, &actor).await?; + hook(&activity, &actor, data)?; debug!("Receiving activity {}", activity.id().to_string()); activity.verify(data).await?;