Add basic request, response, and endpoint definitions for API

[MAILPOET-4135]
This commit is contained in:
Jan Jakes
2022-02-10 09:43:26 +01:00
committed by Veljko V
parent da951e77af
commit 18d722cd51
3 changed files with 84 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
<?php declare(strict_types = 1);
namespace MailPoet\Automation\API;
use MailPoet\Automation\Exceptions;
use WP_REST_Request;
class Request {
/** @var WP_REST_Request */
private $wpRequest;
public function __construct(
WP_REST_Request $wpRequest
) {
$this->wpRequest = $wpRequest;
}
public function getHeader(string $key): ?string {
return $this->wpRequest->get_header($key);
}
public function getUrlParams(): array {
return $this->wpRequest->get_url_params();
}
public function getUrlParam(string $name): ?string {
return $this->getUrlParams()[$name] ?? null;
}
public function getQueryParams(): array {
return $this->wpRequest->get_query_params();
}
public function getQueryParam(string $name): ?string {
return $this->getQueryParams()[$name] ?? null;
}
public function getBody(): array {
return $this->wpRequest->get_json_params() ?? [];
}
public function getRawBody(): string {
return $this->wpRequest->get_body();
}
}