summaryrefslogtreecommitdiff
path: root/src/Router
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2025-09-11 13:19:21 +0200
committerDaniel Weipert <git@mail.dweipert.de>2025-09-11 13:19:21 +0200
commitb1b101fd98c8b4354a4e0c73e867d817466de30e (patch)
tree763e6d3dab13a2af8c324f7f879c5874dced76f2 /src/Router
parentdb014ebf9f8f84a1a0d0972298e70bf29e57c37e (diff)
sync, rooms, events, etc
Diffstat (limited to 'src/Router')
-rw-r--r--src/Router/Router.php7
-rw-r--r--src/Router/routes_client_server.php6
2 files changed, 12 insertions, 1 deletions
diff --git a/src/Router/Router.php b/src/Router/Router.php
index 61abed1..534b7f7 100644
--- a/src/Router/Router.php
+++ b/src/Router/Router.php
@@ -59,7 +59,12 @@ class Router
$class = $match["_controller"][0];
$method = $match["_controller"][1];
- return (new $class)->$method();
+ $request->attributes->add(array_diff_key(
+ $match,
+ array_flip(["_controller", "_route"])
+ ));
+
+ return (new $class)->$method($request);
} catch (Exception $exception) {
return ErrorResponse::fromException($exception);
} catch (ResourceNotFoundException $exception) {
diff --git a/src/Router/routes_client_server.php b/src/Router/routes_client_server.php
index 8979af5..6e7bb8d 100644
--- a/src/Router/routes_client_server.php
+++ b/src/Router/routes_client_server.php
@@ -4,6 +4,7 @@ namespace App\Router;
use App\Controllers\KeyController;
use App\Controllers\LoginController;
+use App\Controllers\RoomController;
use App\Controllers\ServerDiscoveryController;
use App\Controllers\ServerImplementationController;
use App\Controllers\SyncController;
@@ -51,4 +52,9 @@ return function (RouteConfigurator $routes): void
->add("matrix_client_v3_refresh", "/_matrix/client/v3/refresh")
->controller([KeyController::class, "refresh"])
->methods(["POST"]);
+
+ $routes
+ ->add("matrix_client_v3_directory_room_alias_get", "/_matrix/client/v3/directory/room/{roomAlias}")
+ ->controller([RoomController::class, "resolveAlias"])
+ ->methods(["GET"]);
};