summaryrefslogtreecommitdiff
path: root/src/wellknown.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-02-12 21:24:04 +0100
committermetamuffin <metamuffin@disroot.org>2023-02-12 21:24:04 +0100
commitdd57e08795efe27b314bcaf1407faca3b205142a (patch)
tree9c0c76750f5e71111bfb314506e5004057ebd308 /src/wellknown.rs
parent4423c2e86179168339d90adbda53d9777e953db5 (diff)
downloadmetamuffin-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.rs30
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"} ))
+}