feat: v2 rewrite — hexagonal arch, ActivityPub federation, NATS, deployment-ready #1
@@ -1,12 +1,6 @@
|
||||
mod config;
|
||||
mod factory;
|
||||
|
||||
use activitypub_base::{
|
||||
inbox::inbox_handler,
|
||||
nodeinfo::{nodeinfo_handler, nodeinfo_well_known_handler},
|
||||
outbox::outbox_handler,
|
||||
webfinger::webfinger_handler,
|
||||
};
|
||||
use std::net::SocketAddr;
|
||||
use std::sync::Arc;
|
||||
use tower_http::cors::{AllowOrigin, CorsLayer};
|
||||
@@ -38,6 +32,13 @@ async fn main() {
|
||||
.allow_headers(tower_http::cors::Any)
|
||||
};
|
||||
|
||||
use activitypub_base::{
|
||||
followers_handler::{followers_handler, following_handler},
|
||||
inbox::inbox_handler,
|
||||
nodeinfo::{nodeinfo_handler, nodeinfo_well_known_handler},
|
||||
outbox::outbox_handler,
|
||||
webfinger::webfinger_handler,
|
||||
};
|
||||
let ap_router = axum::Router::new()
|
||||
.route(
|
||||
"/.well-known/webfinger",
|
||||
@@ -48,6 +49,7 @@ async fn main() {
|
||||
axum::routing::get(nodeinfo_well_known_handler),
|
||||
)
|
||||
.route("/nodeinfo/2.0", axum::routing::get(nodeinfo_handler))
|
||||
.route("/inbox", axum::routing::post(inbox_handler))
|
||||
.route(
|
||||
"/users/{username}/inbox",
|
||||
axum::routing::post(inbox_handler),
|
||||
@@ -56,6 +58,14 @@ async fn main() {
|
||||
"/users/{username}/outbox",
|
||||
axum::routing::get(outbox_handler),
|
||||
)
|
||||
.route(
|
||||
"/users/{username}/followers",
|
||||
axum::routing::get(followers_handler),
|
||||
)
|
||||
.route(
|
||||
"/users/{username}/following",
|
||||
axum::routing::get(following_handler),
|
||||
)
|
||||
.layer(infra.ap_service.federation_config().middleware());
|
||||
|
||||
let base = presentation::routes::router()
|
||||
|
||||
Reference in New Issue
Block a user