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
  |