createResponse(); } protected function convertPsrResponse(ResponseInterface $response): TrailsResponse { $trailsResponse = new TrailsResponse((string) $response->getBody(), [], $response->getStatusCode()); foreach ($response->getHeaders() as $key => $values) { foreach ($values as $value) { $trailsResponse->add_header($key, $value); } } return $trailsResponse; } protected function renderPsrResponse(ResponseInterface $response): void { if (!($this instanceof Controller)) { throw new \Exception('Can only render responses on trails controllers'); } $this->set_status($response->getStatusCode()); $this->render_text((string) $response->getBody()); foreach ($response->getHeaders() as $key => $values) { foreach ($values as $value) { $this->response->add_header($key, $value); } } } }