Example #1
0
 private function doHandleRequest(Request $request)
 {
     $event = $this->dispatch(KernelEvents::REQUEST, new KernelEvent($request));
     if ($event->hasResponse()) {
         return $event->getResponse();
     }
     // Create the controller based on request attributes
     $controller = $this->factory->createController($request->getAttributes());
     $event = $this->dispatch(KernelEvents::CONTROLLER, new ControllerEvent($controller, $request));
     $response = call_user_func_array($event->getController(), [$request]);
     if (!$response instanceof Response) {
         throw new \RuntimeException('A controller must return a Response object.');
     }
     return $response;
 }