1: <?php
2: 3: 4: 5: 6: 7: 8: 9:
10:
11: namespace Autarky\Http;
12:
13: use Symfony\Component\HttpKernel\HttpKernelInterface;
14: use Symfony\Component\HttpFoundation\Request;
15:
16: class CookieMiddleware implements HttpKernelInterface
17: {
18: protected $kernel;
19: protected $cookieQueue;
20:
21: public function __construct(HttpKernelInterface $kernel, CookieQueue $cookieQueue)
22: {
23: $this->kernel = $kernel;
24: $this->cookieQueue = $cookieQueue;
25: }
26:
27: public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
28: {
29: $response = $this->kernel->handle($request, $type, $catch);
30:
31: if ($type === HttpKernelInterface::MASTER_REQUEST) {
32: foreach ($this->cookieQueue->all() as $key => $value) {
33: $response->headers->setCookie($key, $value);
34: }
35: }
36:
37: return $response;
38: }
39: }
40: