summaryrefslogtreecommitdiff
path: root/matrix-specification/Requests/ClientLoginPostRequest.php
diff options
context:
space:
mode:
Diffstat (limited to 'matrix-specification/Requests/ClientLoginPostRequest.php')
-rw-r--r--matrix-specification/Requests/ClientLoginPostRequest.php18
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));
}
}