You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
342 lines
6.8 KiB
342 lines
6.8 KiB
<?php |
|
|
|
declare(strict_types=1); |
|
|
|
namespace PhpMyAdmin\Http; |
|
|
|
use Psr\Http\Message\ServerRequestInterface; |
|
use Psr\Http\Message\StreamInterface; |
|
use Psr\Http\Message\UriInterface; |
|
|
|
use function is_array; |
|
use function is_object; |
|
use function property_exists; |
|
|
|
class ServerRequest implements ServerRequestInterface |
|
{ |
|
/** @var ServerRequestInterface */ |
|
private $serverRequest; |
|
|
|
final public function __construct(ServerRequestInterface $serverRequest) |
|
{ |
|
$this->serverRequest = $serverRequest; |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getProtocolVersion() |
|
{ |
|
return $this->serverRequest->getProtocolVersion(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withProtocolVersion($version) |
|
{ |
|
$serverRequest = $this->serverRequest->withProtocolVersion($version); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getHeaders() |
|
{ |
|
return $this->serverRequest->getHeaders(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function hasHeader($name) |
|
{ |
|
return $this->serverRequest->hasHeader($name); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getHeader($name) |
|
{ |
|
return $this->serverRequest->getHeader($name); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getHeaderLine($name) |
|
{ |
|
return $this->serverRequest->getHeaderLine($name); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withHeader($name, $value) |
|
{ |
|
$serverRequest = $this->serverRequest->withHeader($name, $value); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withAddedHeader($name, $value) |
|
{ |
|
$serverRequest = $this->serverRequest->withAddedHeader($name, $value); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withoutHeader($name) |
|
{ |
|
$serverRequest = $this->serverRequest->withoutHeader($name); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getBody() |
|
{ |
|
return $this->serverRequest->getBody(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withBody(StreamInterface $body) |
|
{ |
|
$serverRequest = $this->serverRequest->withBody($body); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getRequestTarget() |
|
{ |
|
return $this->serverRequest->getRequestTarget(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withRequestTarget($requestTarget) |
|
{ |
|
$serverRequest = $this->serverRequest->withRequestTarget($requestTarget); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getMethod() |
|
{ |
|
return $this->serverRequest->getMethod(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withMethod($method) |
|
{ |
|
$serverRequest = $this->serverRequest->withMethod($method); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getUri() |
|
{ |
|
return $this->serverRequest->getUri(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withUri(UriInterface $uri, $preserveHost = false) |
|
{ |
|
$serverRequest = $this->serverRequest->withUri($uri, $preserveHost); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getServerParams() |
|
{ |
|
return $this->serverRequest->getServerParams(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getCookieParams() |
|
{ |
|
return $this->serverRequest->getCookieParams(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withCookieParams(array $cookies) |
|
{ |
|
$serverRequest = $this->serverRequest->withCookieParams($cookies); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getQueryParams() |
|
{ |
|
return $this->serverRequest->getQueryParams(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withQueryParams(array $query) |
|
{ |
|
$serverRequest = $this->serverRequest->withQueryParams($query); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getUploadedFiles() |
|
{ |
|
return $this->serverRequest->getUploadedFiles(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withUploadedFiles(array $uploadedFiles) |
|
{ |
|
$serverRequest = $this->serverRequest->withUploadedFiles($uploadedFiles); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getParsedBody() |
|
{ |
|
return $this->serverRequest->getParsedBody(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withParsedBody($data) |
|
{ |
|
$serverRequest = $this->serverRequest->withParsedBody($data); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getAttributes() |
|
{ |
|
return $this->serverRequest->getAttributes(); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function getAttribute($name, $default = null) |
|
{ |
|
return $this->serverRequest->getAttribute($name, $default); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withAttribute($name, $value) |
|
{ |
|
$serverRequest = $this->serverRequest->withAttribute($name, $value); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
|
*/ |
|
public function withoutAttribute($name) |
|
{ |
|
$serverRequest = $this->serverRequest->withoutAttribute($name); |
|
|
|
return new static($serverRequest); |
|
} |
|
|
|
/** |
|
* @param mixed $default |
|
* |
|
* @return mixed |
|
*/ |
|
public function getParam(string $param, $default = null) |
|
{ |
|
$getParams = $this->getQueryParams(); |
|
$postParams = $this->getParsedBody(); |
|
|
|
if (is_array($postParams) && isset($postParams[$param])) { |
|
return $postParams[$param]; |
|
} |
|
|
|
if (is_object($postParams) && property_exists($postParams, $param)) { |
|
return $postParams->$param; |
|
} |
|
|
|
if (isset($getParams[$param])) { |
|
return $getParams[$param]; |
|
} |
|
|
|
return $default; |
|
} |
|
|
|
/** |
|
* @param mixed $default |
|
* |
|
* @return mixed |
|
*/ |
|
public function getParsedBodyParam(string $param, $default = null) |
|
{ |
|
$postParams = $this->getParsedBody(); |
|
|
|
if (is_array($postParams) && isset($postParams[$param])) { |
|
return $postParams[$param]; |
|
} |
|
|
|
if (is_object($postParams) && property_exists($postParams, $param)) { |
|
return $postParams->$param; |
|
} |
|
|
|
return $default; |
|
} |
|
|
|
public function isPost(): bool |
|
{ |
|
return $this->getMethod() === 'POST'; |
|
} |
|
}
|
|
|