about summary refs log tree commit diff
path: root/Utilities/LibMatrix.HomeserverEmulator/Controllers/WellKnownController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/LibMatrix.HomeserverEmulator/Controllers/WellKnownController.cs')
-rw-r--r--Utilities/LibMatrix.HomeserverEmulator/Controllers/WellKnownController.cs32
1 files changed, 32 insertions, 0 deletions
diff --git a/Utilities/LibMatrix.HomeserverEmulator/Controllers/WellKnownController.cs b/Utilities/LibMatrix.HomeserverEmulator/Controllers/WellKnownController.cs
new file mode 100644
index 0000000..97e460d
--- /dev/null
+++ b/Utilities/LibMatrix.HomeserverEmulator/Controllers/WellKnownController.cs
@@ -0,0 +1,32 @@
+using System.Text.Json.Nodes;

+using LibMatrix.Services;

+using Microsoft.AspNetCore.Mvc;

+

+namespace LibMatrix.HomeserverEmulator.Controllers;

+

+[ApiController]

+[Route("/.well-known/matrix/")]

+public class WellKnownController(ILogger<WellKnownController> logger) : ControllerBase {

+    [HttpGet("client")]

+    public JsonObject GetClientWellKnown() {

+        var obj = new JsonObject() {

+            ["m.homeserver"] = new JsonObject() {

+                ["base_url"] = $"{Request.Scheme}://{Request.Host}"

+            }

+        };

+

+        logger.LogInformation("Serving client well-known: {}", obj);

+

+        return obj;

+    }

+    [HttpGet("server")]

+    public JsonObject GetServerWellKnown() {

+        var obj = new JsonObject() {

+            ["m.server"] = $"{Request.Scheme}://{Request.Host}"

+        };

+

+        logger.LogInformation("Serving server well-known: {}", obj);

+

+        return obj;

+    }

+}
\ No newline at end of file