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->headers = $this->getRequest()->headers; } return $this->headers; } /** * @return Request * @throws Exception */ public function getRequest(): Request { if (!$this->request) { $this->request = Snowflake::app()->request; } return $this->request; } /** * @param $methods * @return mixed * @throws ComponentException */ public function __get($methods) { // TODO: Change the autogenerated stub if (property_exists($this, $methods)) { return $this->$methods; } $method = 'get' . ucfirst($methods); if (method_exists($this, $method)) { return $this->{$method}(); } return Snowflake::app()->get($methods); } }