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'; } /** * @psalm-return non-empty-string */ public function getRoute(): string { $getParams = $this->getQueryParams(); $postParams = $this->getParsedBody(); $route = '/'; if (isset($getParams['route']) && is_string($getParams['route']) && $getParams['route'] !== '') { $route = $getParams['route']; } elseif ( is_array($postParams) && isset($postParams['route']) && is_string($postParams['route']) && $postParams['route'] !== '' ) { $route = $postParams['route']; } /** * See FAQ 1.34. * * @see https://docs.phpmyadmin.net/en/latest/faq.html#faq1-34 */ $db = isset($getParams['db']) && is_string($getParams['db']) ? $getParams['db'] : ''; if ($route === '/' && $db !== '') { $table = isset($getParams['table']) && is_string($getParams['table']) ? $getParams['table'] : ''; $route = $table === '' ? '/database/structure' : '/sql'; } return $route; } }