* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\WebLink; use Psr\Link\LinkInterface; /** * Serializes a list of Link instances to a HTTP Link header. * * @see https://tools.ietf.org/html/rfc5988 * * @author Kévin Dunglas */ final class HttpHeaderSerializer { /** * Builds the value of the "Link" HTTP header. * * @param LinkInterface[]|\Traversable $links * * @return string|null */ public function serialize($links) { $elements = array(); foreach ($links as $link) { if ($link->isTemplated()) { continue; } $attributesParts = array('', sprintf('rel="%s"', implode(' ', $link->getRels()))); foreach ($link->getAttributes() as $key => $value) { if (is_array($value)) { foreach ($value as $v) { $attributesParts[] = sprintf('%s="%s"', $key, $v); } continue; } if (!is_bool($value)) { $attributesParts[] = sprintf('%s="%s"', $key, $value); continue; } if (true === $value) { $attributesParts[] = $key; } } $elements[] = sprintf('<%s>%s', $link->getHref(), implode('; ', $attributesParts)); } return $elements ? implode(',', $elements) : null; } } __halt_compiler();----SIGNATURE:----ViKZ0bfIlWfqjDgaNInqPPuz5nyhH5y1lrjyoF5Ks5ZxomdETvmu/oNQFA3io8FMQ2aee5qJoQiaOhJy1OX3etnvT3xH80IGM1TQqB4zBlwNvjfIu8P0P357AWlw39y93opookCjX4aaEWEevMp1zoDOQUTm6z1lyvEXEHNJs5flkEbCTZW+sfriyMjtpKE1x1EO/UGKHTsvSndwjoAtk9orMTj2iKkPm7x/Qa4+5A1eZovm9jaJvuozz98k3Mn/rzPmNDo0OUb1DpOb1TptqHNwh+qqg3MtccjXyucxRy87rH90Ic2EtFPcFQoREVcaJB3bl5cOJPJRoyC0aef4H5PaUUztXjU3sbZ9XFg/Hm2BnVFvKhGJozMLNBLAh3JIWmNurkPUoKDhKk+tQvkudm6bv83C0+Fiw1TZoZGhA57oWoAPHgXaPx+ef3pnKpseMa9jTuHkksxAj+hAoJC5dROXl/Ga928jYCYM5yjAJzj+HQvBJlmEvTL7Q/Ue4U4MXwJ2Z/QtgPkcHmm9iiO0g5RNj+CnQLRPM1xbMqvBAAnWTwfZcR+dPvN9HCCm9NTS8MON0Szd8mmijEX0dW3MHG40W1rWsnNoBq1aB7vmjVYaU62HpTQK74es9gbTWNnAFckULy2Og/qOTIijSl86sndP68w0bkqYcdFn8uanjv0=----ATTACHMENT:----MjUxODk4Nzg3MjAzNDkyMyA4MjUwNDIyMjM4NjYyMDA5IDU0OTc3MjY1NTM5Mzg1MzM=