diff options
author | Felix <me@nutomic.com> | 2020-04-21 22:45:01 +0200 |
---|---|---|
committer | Felix <me@nutomic.com> | 2020-04-21 22:45:01 +0200 |
commit | 957e4a26114033b79c0c2e820a07f39fe8680f2c (patch) | |
tree | 4447def61d99db6d0702e49d34a8bc9fedca11b3 /server/src/routes/federation.rs | |
parent | 4e80543edbdceebbcf4a06e60ca3fc8e76d74920 (diff) |
Change apub IDs to be consistent with html urls
Diffstat (limited to 'server/src/routes/federation.rs')
-rw-r--r-- | server/src/routes/federation.rs | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/server/src/routes/federation.rs b/server/src/routes/federation.rs index bde4a2d0..3a14cbc2 100644 --- a/server/src/routes/federation.rs +++ b/server/src/routes/federation.rs @@ -1,38 +1,35 @@ use super::*; -use crate::apub; +use crate::apub::community::*; +use crate::apub::community_inbox::community_inbox; +use crate::apub::post::get_apub_post; +use crate::apub::user::*; +use crate::apub::user_inbox::user_inbox; +use crate::apub::APUB_JSON_CONTENT_TYPE; pub fn config(cfg: &mut web::ServiceConfig) { if Settings::get().federation.enabled { println!("federation enabled, host is {}", Settings::get().hostname); cfg - // TODO: check the user/community params for these - .route( - "/federation/c/{community_name}/inbox", - web::post().to(apub::community_inbox::community_inbox), + .service( + web::scope("/") + .guard(guard::Header("Content-Type", APUB_JSON_CONTENT_TYPE)) + .route( + "/c/{community_name}", + web::get().to(get_apub_community_http), + ) + .route( + "/c/{community_name}/followers", + web::get().to(get_apub_community_followers), + ) + .route( + "/c/{community_name}/outbox", + web::get().to(get_apub_community_outbox), + ) + .route("/u/{user_name}", web::get().to(get_apub_user)) + .route("/post/{post_id}", web::get().to(get_apub_post)), ) - .route( - "/federation/u/{user_name}/inbox", - web::post().to(apub::user_inbox::user_inbox), - ) - .route( - "/federation/c/{community_name}", - web::get().to(apub::community::get_apub_community_http), - ) - .route( - "/federation/c/{community_name}/followers", - web::get().to(apub::community::get_apub_community_followers), - ) - .route( - "/federation/c/{community_name}/outbox", - web::get().to(apub::community::get_apub_community_outbox), - ) - .route( - "/federation/u/{user_name}", - web::get().to(apub::user::get_apub_user), - ) - .route( - "/federation/p/{post_id}", - web::get().to(apub::post::get_apub_post), - ); + // Inboxes dont work with the header guard for some reason. + .route("/c/{community_name}/inbox", web::post().to(community_inbox)) + .route("/u/{user_name}/inbox", web::post().to(user_inbox)); } } |