|
17 | 17 | use Symfony\Component\HttpFoundation\Request; |
18 | 18 | use Symfony\Component\HttpFoundation\Response; |
19 | 19 | use Symfony\Component\HttpKernel\HttpKernelInterface; |
| 20 | +use Symfony\Component\HttpKernel\KernelInterface; |
20 | 21 |
|
21 | 22 | /** |
22 | 23 | * Trait for enhanced Symfony reverse proxy based on the symfony kernel component. |
@@ -91,13 +92,13 @@ public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQ |
91 | 92 | // trigger loading the CacheEvent to avoid fatal error when HttpKernel::loadClassCache is used. |
92 | 93 | class_exists(CacheEvent::class); |
93 | 94 |
|
94 | | - if ($response = $this->dispatch(Events::PRE_HANDLE, $request)) { |
95 | | - return $this->dispatch(Events::POST_HANDLE, $request, $response); |
| 95 | + if ($response = $this->dispatch(Events::PRE_HANDLE, $request, null, $type)) { |
| 96 | + return $this->dispatch(Events::POST_HANDLE, $request, $response, $type); |
96 | 97 | } |
97 | 98 |
|
98 | 99 | $response = parent::handle($request, $type, $catch); |
99 | 100 |
|
100 | | - return $this->dispatch(Events::POST_HANDLE, $request, $response); |
| 101 | + return $this->dispatch(Events::POST_HANDLE, $request, $response, $type); |
101 | 102 | } |
102 | 103 |
|
103 | 104 | /** |
@@ -129,16 +130,17 @@ protected function invalidate(Request $request, $catch = false) |
129 | 130 | /** |
130 | 131 | * Dispatch an event if needed. |
131 | 132 | * |
132 | | - * @param string $name Name of the event to trigger. One of the constants in FOS\HttpCache\SymfonyCache\Events |
| 133 | + * @param string $name Name of the event to trigger. One of the constants in FOS\HttpCache\SymfonyCache\Events |
133 | 134 | * @param Request $request |
134 | | - * @param Response|null $response If already available |
| 135 | + * @param Response|null $response If already available |
| 136 | + * @param int $requestType The request type (default KernelInterface::MASTER_REQUEST) |
135 | 137 | * |
136 | 138 | * @return Response The response to return, which might be provided/altered by a listener |
137 | 139 | */ |
138 | | - protected function dispatch($name, Request $request, Response $response = null) |
| 140 | + protected function dispatch($name, Request $request, Response $response = null, $requestType = KernelInterface::MASTER_REQUEST) |
139 | 141 | { |
140 | 142 | if ($this->getEventDispatcher()->hasListeners($name)) { |
141 | | - $event = new CacheEvent($this, $request, $response); |
| 143 | + $event = new CacheEvent($this, $request, $response, $requestType); |
142 | 144 | $this->getEventDispatcher()->dispatch($name, $event); |
143 | 145 | $response = $event->getResponse(); |
144 | 146 | } |
|
0 commit comments