mirror of https://github.com/LemmyNet/lemmy
Merge branch 'federation' of https://yerbamate.dev/LemmyNet/lemmy into federation
commit
92e30311ce
@ -1,38 +1,35 @@
|
|||||||
use super::*;
|
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) {
|
pub fn config(cfg: &mut web::ServiceConfig) {
|
||||||
if Settings::get().federation.enabled {
|
if Settings::get().federation.enabled {
|
||||||
println!("federation enabled, host is {}", Settings::get().hostname);
|
println!("federation enabled, host is {}", Settings::get().hostname);
|
||||||
cfg
|
cfg
|
||||||
// TODO: check the user/community params for these
|
.service(
|
||||||
.route(
|
web::scope("/")
|
||||||
"/federation/c/{community_name}/inbox",
|
.guard(guard::Header("Content-Type", APUB_JSON_CONTENT_TYPE))
|
||||||
web::post().to(apub::community_inbox::community_inbox),
|
.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(
|
// Inboxes dont work with the header guard for some reason.
|
||||||
"/federation/u/{user_name}/inbox",
|
.route("/c/{community_name}/inbox", web::post().to(community_inbox))
|
||||||
web::post().to(apub::user_inbox::user_inbox),
|
.route("/u/{user_name}/inbox", web::post().to(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),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue