mod did_public;
pub mod health;
pub mod trust_tasks;
use axum::Router;
use axum::extract::DefaultBodyLimit;
use axum::routing::{get, post};
use crate::server::AppState;
pub const TRUST_TASKS_BODY_LIMIT_BYTES: usize = 1024 * 1024;
pub fn router_public_only() -> Router<AppState> {
Router::new()
.route(
"/.well-known/did.jsonl",
get(did_public::serve_root_did_log),
)
.route(
"/.well-known/did-witness.json",
get(did_public::serve_root_witness),
)
.fallback(did_public::serve_public)
}
pub fn router() -> Router<AppState> {
router_public_only()
.route(
"/api/trust-tasks",
post(trust_tasks::receive).layer(DefaultBodyLimit::max(TRUST_TASKS_BODY_LIMIT_BYTES)),
)
.layer(axum::middleware::from_fn(
trust_tasks::log_missing_connect_info,
))
}