diff options
Diffstat (limited to 'matrix-specification/Requests/ClientLoginPostRequest.php')
| -rw-r--r-- | matrix-specification/Requests/ClientLoginPostRequest.php | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/matrix-specification/Requests/ClientLoginPostRequest.php b/matrix-specification/Requests/ClientLoginPostRequest.php index 44497e7..161c6de 100644 --- a/matrix-specification/Requests/ClientLoginPostRequest.php +++ b/matrix-specification/Requests/ClientLoginPostRequest.php @@ -3,9 +3,11 @@ namespace Matrix\Requests; use Matrix\Data\UserIdentifier; +use Matrix\Enums\ApiPathVersion; use Matrix\Enums\LoginType; +use Matrix\Request; -class ClientLoginPostRequest implements RateLimited, \JsonSerializable +class ClientLoginPostRequest extends Request implements RateLimited { public function __construct( private LoginType $type, @@ -26,7 +28,17 @@ class ClientLoginPostRequest implements RateLimited, \JsonSerializable } } - public function jsonSerialize(): array + public function getUri(string $scheme, string $serverName, ApiPathVersion $version): string + { + return "{$scheme}://{$serverName}/_matrix/client/{$version}/login"; + } + + public function getQueryParameters(): array + { + return []; + } + + public function getBody(): array { $request = [ "device_id" => $this->deviceId, @@ -48,6 +60,6 @@ class ClientLoginPostRequest implements RateLimited, \JsonSerializable default => [], }; - return array_filter($request, "is_null"); + return array_filter($request, fn ($value) => ! is_null($value)); } } |
