diff options
author | metamuffin <metamuffin@disroot.org> | 2023-02-12 21:24:04 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-02-12 21:24:04 +0100 |
commit | dd57e08795efe27b314bcaf1407faca3b205142a (patch) | |
tree | 9c0c76750f5e71111bfb314506e5004057ebd308 /src/wellknown.rs | |
parent | 4423c2e86179168339d90adbda53d9777e953db5 (diff) | |
download | metamuffin-website-dd57e08795efe27b314bcaf1407faca3b205142a.tar metamuffin-website-dd57e08795efe27b314bcaf1407faca3b205142a.tar.bz2 metamuffin-website-dd57e08795efe27b314bcaf1407faca3b205142a.tar.zst |
copy some content from the old page
Diffstat (limited to 'src/wellknown.rs')
-rw-r--r-- | src/wellknown.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/wellknown.rs b/src/wellknown.rs new file mode 100644 index 0000000..2ec3255 --- /dev/null +++ b/src/wellknown.rs @@ -0,0 +1,30 @@ +use rocket::{ + get, + http::Header, + response::{self, Responder}, + serde::json::{json, Value}, + Request, +}; + +pub struct Cors<T>(pub T); + +#[rocket::async_trait] +impl<'r, T: Responder<'r, 'static>> Responder<'r, 'static> for Cors<T> { + fn respond_to(self, request: &'r Request<'_>) -> response::Result<'static> { + let mut resp = self.0.respond_to(request); + if let Ok(resp) = &mut resp { + resp.set_header(Header::new("access-control-allow-origin", "*")); + } + resp + } +} + +#[get("/.well-known/matrix/client")] +pub fn r_wellknown_matrix_client() -> Cors<Value> { + Cors(json!({"m.homeserver": {"base_url": "https://matrix.metamuffin.org"}} )) +} + +#[get("/.well-known/matrix/server")] +pub fn r_wellknown_matrix_server() -> Cors<Value> { + Cors(json!({"m.server": "matrix.metamuffin.org:443"} )) +} |