tuwunel_api_client/rendezvous/msc4388/
discover.rs1use axum::extract::State;
2use ruma::api::client::rendezvous::discover_rendezvous::unstable::{Request, Response};
3
4use super::{Result, create_permitted, ensure_available};
5use crate::{ClientIp, Ruma};
6
7#[tracing::instrument(level = "debug", skip_all)]
8pub(crate) async fn discover_msc4388_route(
9 State(services): State<crate::State>,
10 ClientIp(client): ClientIp,
11 body: Ruma<Request>,
12) -> Result<Response> {
13 ensure_available(&services, client)?;
14
15 let create_available = create_permitted(&services, &body)?;
16
17 Ok(Response { create_available })
18}