input = $input; } /** * @param ?HttpHeaders $headers */ public function setHeaders(?HttpHeaders $headers): void { $this->headers = $headers; } /** * @param ?Request $request */ public function setRequest(?Request $request): void { $this->request = $request; } /** * @return ?HttpParams * @throws Exception */ public function getInput(): ?HttpParams { if (!$this->input) { $this->input = $this->getRequest()->params; } return $this->input; } /** * @return ?HttpHeaders * @throws Exception */ public function getHeaders(): ?HttpHeaders { if (!$this->headers && $this->getRequest()) { $this->headers = $this->getRequest()->headers; } return $this->headers; } /** * @return Request|null */ public function getRequest(): ?Request { if (!$this->request) { $this->request = Snowflake::app()->request; } return $this->request; } /** * @param $name * @return mixed * @throws ComponentException */ public function __get($name): mixed { // TODO: Change the autogenerated stub if (property_exists($this, $name)) { return $this->$name; } $method = 'get' . ucfirst($name); if (method_exists($this, $method)) { return $this->{$method}(); } return Snowflake::app()->get($name); } }