Example #1
0
 public function getControllerFor(Request $request, RtNode $routes)
 {
     $routeResult = $routes->findRouteFor($request);
     if ($routeResult->routeExists) {
         if ($routeResult->methodIsSupported) {
             $controller = $this->getControllerFromRouteResult($request, $routeResult);
         } else {
             throw new RecessResponseException('METHOD not supported, supported METHODs are: ' . implode(',', $routeResult->acceptableMethods), ResponseCodes::HTTP_METHOD_NOT_ALLOWED, get_defined_vars());
         }
     } else {
         throw new RecessResponseException('Resource does not exist.', ResponseCodes::HTTP_NOT_FOUND, get_defined_vars());
     }
     Application::activate($request->meta->app);
     $this->controller = $controller;
     return $controller;
 }