Files
continuwuity/src/router/router.rs
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

23 lines
683 B
Rust
Raw Normal View History

2024-05-09 15:59:08 -07:00
use std::sync::Arc;
2026-03-18 12:31:27 -04:00
use axum::{Router, response::IntoResponse};
2024-12-14 21:58:01 -05:00
use conduwuit::Error;
use conduwuit_service::{Services, state, state::Guard};
use http::{StatusCode, Uri};
use ruma::api::error::ErrorKind;
2024-05-09 15:59:08 -07:00
2024-07-30 01:25:07 +00:00
pub(crate) fn build(services: &Arc<Services>) -> (Router, Guard) {
let router = Router::<state::State>::new();
let (state, guard) = state::create(services.clone());
2024-12-14 21:58:01 -05:00
let router = conduwuit_api::router::build(router, &services.server)
2026-03-18 12:31:27 -04:00
.merge(conduwuit_web::build())
2024-06-05 07:30:30 +00:00
.fallback(not_found)
2024-07-30 01:25:07 +00:00
.with_state(state);
(router, guard)
2024-05-09 15:59:08 -07:00
}
async fn not_found(_uri: Uri) -> impl IntoResponse {
2026-03-18 12:31:27 -04:00
Error::Request(ErrorKind::Unrecognized, "not found :(".into(), StatusCode::NOT_FOUND)
2024-05-09 15:59:08 -07:00
}