request = $request; $this->basePath = $basePath; } public function get(?string $name = null) { if (is_null($name)) { return $this->getQueryParams(); } return $this->getQueryParam($name); } public function getQueryParam(string $name) { return $this->request->getQueryParams()[$name] ?? null; } public function getQueryParams() : array { return $this->request->getQueryParams(); } public function getHeader(string $name) : ?string { if (!$this->request->hasHeader($name)) return null; return $this->request->getHeaderLine($name); } public function hasHeader(string $name) : bool { return $this->request->hasHeader($name); } public function getMethod() : string { return $this->request->getMethod(); } public function getContentType() : ?string { return $this->getHeader('Content-Type'); } public function getBodyContents() : ?string { return $this->request->getBody()->getContents(); } public function getCookieParam(string $name) : ?string { $params = $this->request->getCookieParams(); return $params[$name] ?? null; } public function getServerParam(string $name) : ?string { $params = $this->request->getServerParams(); return $params[$name] ?? null; } public function getUri() : UriInterface { return $this->request->getUri(); } public function getResourcePath() : string { $path = $this->request->getUri()->getPath(); return substr($path, strlen($this->basePath)); } public function isGet() : bool { return $this->getMethod() === 'GET'; } public function isPut() : bool { return $this->getMethod() === 'PUT'; } public function isUpdate() : bool { return $this->getMethod() === 'UPDATE'; } public function isPost() : bool { return $this->getMethod() === 'POST'; } public function isPatch() : bool { return $this->getMethod() === 'PATCH'; } public function isDelete() : bool { return $this->getMethod() === 'DELETE'; } }