json($res, $code, $this->filterHeaders($headers), JSON_UNESCAPED_SLASHES); } public function linksForCollection($paginator) { $link = null; if ($paginator->onFirstPage()) { if ($paginator->hasMorePages()) { $link = '<'.$paginator->nextPageUrl().'>; rel="prev"'; } } else { if ($paginator->previousPageUrl()) { $link = '<'.$paginator->previousPageUrl().'>; rel="next"'; } if ($paginator->hasMorePages()) { $link .= ($link ? ', ' : '').'<'.$paginator->nextPageUrl().'>; rel="prev"'; } } return $link; } private function filterHeaders($headers) { return array_filter($headers, function($v, $k) { return $v != null; }, ARRAY_FILTER_USE_BOTH); } }