Example #1
0
 private function toResponse($handler, $status, Context $context)
 {
     $result = $context->value($handler, '');
     $mediaType = $context->getMediaType();
     $lastModified = $context->value('last-modified');
     $response = Response::create('', $status);
     if (!$context->getRequest()->isMethod('HEAD')) {
         $response->setContent(is_string($result) ? $result : $this->serialize($result, $mediaType));
     }
     Utils::setHeadersMaybe($response, ['Location' => $context->getLocation(), 'Vary' => $this->buildVaryHeader($context), 'Content-Type' => $mediaType, 'Last-Modified' => $lastModified ? Utils::httpDate($lastModified) : null, 'ETag' => $context->value('etag')]);
     if ($this->enableTrace) {
         $this->setTraceHeaders($response);
     }
     return $response;
 }