request = $request; $this->basePath = $basePath; } public function get(string $name) { $params = $this->request->getQueryParams(); $value = $params[$name] ?? null; return $value; } 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'; } }