From 502f9f63d71491ec0e26ffe6e3e39a376afe73cf Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Thu, 29 Feb 2024 18:20:47 +0100 Subject: [PATCH] serialize fn --- src/activity_queue.rs | 5 ++--- src/activity_sending.rs | 10 +++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/activity_queue.rs b/src/activity_queue.rs index d9f0230..d46c26f 100644 --- a/src/activity_queue.rs +++ b/src/activity_queue.rs @@ -31,6 +31,7 @@ use tokio::{ }; use tracing::{debug, info, warn}; use url::Url; +use crate::activity_sending::serialize_activity; /// Send a new activity to the given inboxes with automatic retry on failure. Alternatively you /// can implement your own queue and then send activities using [[crate::activity_sending::SendActivityTask]]. @@ -55,9 +56,7 @@ where let config = &data.config; let actor_id = activity.actor(); let activity_id = activity.id(); - let activity_serialized: Bytes = serde_json::to_vec(&activity) - .map_err(|e| Error::SerializeOutgoingActivity(e, format!("{:?}", activity)))? - .into(); + let activity_serialized = serialize_activity(&activity)?; let private_key = get_pkey_cached(data, actor).await?; let inboxes: Vec = inboxes diff --git a/src/activity_sending.rs b/src/activity_sending.rs index 075f2e3..a621168 100644 --- a/src/activity_sending.rs +++ b/src/activity_sending.rs @@ -64,9 +64,7 @@ impl SendActivityTask<'_> { let config = &data.config; let actor_id = activity.actor(); let activity_id = activity.id(); - let activity_serialized: Bytes = serde_json::to_vec(&activity) - .map_err(|e| Error::SerializeOutgoingActivity(e, format!("{:?}", activity)))? - .into(); + let activity_serialized = serialize_activity(activity)?; let private_key = get_pkey_cached(data, actor).await?; Ok(futures::stream::iter( @@ -132,6 +130,12 @@ impl SendActivityTask<'_> { } } +pub(crate) fn serialize_activity(activity: &Activity) -> Result { +Ok(serde_json::to_vec(activity) +.map_err(|e| Error::SerializeOutgoingActivity(e, format!("{:?}", activity)))? +.into()) +} + pub(crate) async fn get_pkey_cached( data: &Data, actor: &ActorType,