From ec36dea0c97cb40c33ee7b7c377782bd2f78d014 Mon Sep 17 00:00:00 2001 From: silverpill Date: Sat, 20 Nov 2021 21:07:03 +0000 Subject: [PATCH] Log activities coming to instance actor inbox --- src/activitypub/views.rs | 22 ++++++++++++++++++---- src/main.rs | 2 +- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/activitypub/views.rs b/src/activitypub/views.rs index c1e3cf8..908b9e6 100644 --- a/src/activitypub/views.rs +++ b/src/activitypub/views.rs @@ -92,12 +92,12 @@ async fn inbox( web::Path(username): web::Path, activity: web::Json, ) -> Result { - log::info!("received to '{}' inbox: {}", username, activity); + log::info!("received in '{}' inbox: {}", username, activity); if let Err(err) = verify_http_signature(&config, &db_pool, &request).await { log::warn!("invalid signature: {}", err); } receive_activity(&config, &db_pool, username, activity.into_inner()).await?; - Ok(HttpResponse::Ok().body("success")) + Ok(HttpResponse::Ok().finish()) } #[derive(Deserialize)] @@ -149,8 +149,8 @@ pub fn actor_scope() -> Scope { .service(following_collection) } -#[get("/actor")] -pub async fn instance_actor_view( +#[get("")] +async fn instance_actor_view( config: web::Data, ) -> Result { let actor = get_instance_actor(&config.instance()) @@ -161,6 +161,20 @@ pub async fn instance_actor_view( Ok(response) } +#[post("/inbox")] +async fn instance_actor_inbox( + activity: web::Json, +) -> Result { + log::info!("received in instance inbox: {}", activity); + Ok(HttpResponse::Ok().finish()) +} + +pub fn instance_actor_scope() -> Scope { + web::scope("/actor") + .service(instance_actor_view) + .service(instance_actor_inbox) +} + #[get("/objects/{object_id}")] pub async fn object_view( config: web::Data, diff --git a/src/main.rs b/src/main.rs index a58b04c..cfc6917 100644 --- a/src/main.rs +++ b/src/main.rs @@ -88,7 +88,7 @@ async fn main() -> std::io::Result<()> { .service(timeline_api_scope()) .service(webfinger::get_descriptor) .service(activitypub::actor_scope()) - .service(activitypub::instance_actor_view) + .service(activitypub::instance_actor_scope()) .service(activitypub::object_view) .service(nodeinfo::get_nodeinfo) .service(nodeinfo::get_nodeinfo_2_0);