Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 16b078f

Browse files
committed
Don't replace existing link
1 parent 1160ba3 commit 16b078f

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/Symfony/Component/Asset/EventListener/PreloadListener.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Component\Asset\EventListener;
1313

1414
use Symfony\Component\Asset\Preload\PreloadManager;
15+
use Symfony\Component\Asset\Preload\PreloadManagerInterface;
1516
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
1617
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
1718
use Symfony\Component\HttpKernel\KernelEvents;
@@ -25,7 +26,7 @@ class PreloadListener implements EventSubscriberInterface
2526
{
2627
private $preloadManager;
2728

28-
public function __construct(PreloadManager $preloadManager)
29+
public function __construct(PreloadManagerInterface $preloadManager)
2930
{
3031
$this->preloadManager = $preloadManager;
3132
}
@@ -37,7 +38,7 @@ public function onKernelResponse(FilterResponseEvent $event)
3738
}
3839

3940
if ($value = $this->preloadManager->buildLinkValue()) {
40-
$event->getResponse()->headers->set('Link', $value);
41+
$event->getResponse()->headers->set('Link', $value, false);
4142

4243
// Free memory
4344
$this->preloadManager->clear();

src/Symfony/Component/Asset/Tests/EventListener/PreloadListenerTest.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function testOnKernelResponse()
2929
$manager->addResource('/foo');
3030

3131
$subscriber = new PreloadListener($manager);
32-
$response = new Response();
32+
$response = new Response('', 200, array('Link' => '<https://demo.api-platform.com/docs.jsonld>; rel="http://www.w3.org/ns/hydra/core#apiDocumentation"'));
3333

3434
$event = $this->getMockBuilder(FilterResponseEvent::class)->disableOriginalConstructor()->getMock();
3535
$event->method('isMasterRequest')->willReturn(true);
@@ -38,7 +38,13 @@ public function testOnKernelResponse()
3838
$subscriber->onKernelResponse($event);
3939

4040
$this->assertInstanceOf(EventSubscriberInterface::class, $subscriber);
41-
$this->assertEquals('</foo>; rel=preload', $response->headers->get('Link'));
41+
42+
$expected = array(
43+
'<https://demo.api-platform.com/docs.jsonld>; rel="http://www.w3.org/ns/hydra/core#apiDocumentation"',
44+
'</foo>; rel=preload',
45+
);
46+
47+
$this->assertEquals($expected, $response->headers->get('Link', null, false));
4248
$this->assertNull($manager->buildLinkValue());
4349
}
4450

0 commit comments

Comments
 (0)