/** * {@inheritdoc} */ public function render(Request $request, Response $response) { $this->twig = new TwigService($this->environment); if (!$this->environment->isSilent()) { header('HTTP/1.1 ' . $response->getStatusCode() . ' ' . $response->getStatusMessage()); foreach ($response->getHeaders() as $name => $value) { header($name . ': ' . $value); } } switch ($response->getStatusCode()) { case 300: case 301: case 302: case 303: case 305: case 307: $this->redirect($response); break; default: if ($response->getStatusCode() >= 400) { $this->displayError($request, $response); } else { $this->displaySuccess($request, $response); } } }
/** * @param Request $request * @param Response $response */ public function render(Request $request, Response $response) { if (!$this->environment->isSilent()) { header('HTTP/1.1 ' . $response->getStatusCode() . ' ' . $response->getStatusMessage()); foreach ($response->getHeaders() as $name => $value) { header($name . ': ' . $value); } } if ($response->getStatusCode() < 299) { $startRange = 0; $endRange = filesize($response->getContent()) - 1; try { $contentRange = $response->getHeader('Content-Range'); if (preg_match('/^bytes ([0-9]+)-([0-9]+)\\/([0-9]+)$/', $contentRange, $match)) { $startRange = (int) $match[1]; $endRange = (int) $match[2]; } } catch (HeaderNotFoundException $e) { //skipp } $buffer = 1024 * 8; $file = @fopen($response->getContent(), 'rb'); fseek($file, $startRange); while (!feof($file) && ($p = ftell($file)) <= $endRange) { if ($p + $buffer > $endRange) { $buffer = $endRange - $p + 1; } set_time_limit(0); echo fread($file, $buffer); flush(); } fclose($file); } }
/** * * @param Request $request * @param Response $response */ public function render(Request $request, Response $response) { if ($this->environment->getName() !== 'test') { header('HTTP/1.1 ' . $response->getStatusCode() . ' ' . $response->getStatusMessage()); foreach ($response->getHeaders() as $name => $value) { header($name . ': ' . $value); } } echo (string) $response->getContent(); }
/** * * @param Response $response */ private function setHeaders(Response $response) { if ($this->environment->getName() === 'test') { return; } header('HTTP/1.1 ' . $response->getStatusCode() . ' ' . $response->getStatusMessage()); header('Content-type: application/json'); foreach ($response->getHeaders() as $name => $value) { if ($name != 'content-type') { header($name . ': ' . $value); } } }