summaryrefslogtreecommitdiffstats
path: root/server/src/routes/federation.rs
diff options
context:
space:
mode:
authorFelix <me@nutomic.com>2020-04-21 22:45:01 +0200
committerFelix <me@nutomic.com>2020-04-21 22:45:01 +0200
commit957e4a26114033b79c0c2e820a07f39fe8680f2c (patch)
tree4447def61d99db6d0702e49d34a8bc9fedca11b3 /server/src/routes/federation.rs
parent4e80543edbdceebbcf4a06e60ca3fc8e76d74920 (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.rs55
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));
}
}