Beispiel #1
0
 /**
  * @param Oxygen_Http_Request     $request
  * @param Oxygen_Util_RequestData $requestData
  *
  * @return Oxygen_Util_HookedClosure|Oxygen_Http_Response
  * @throws Oxygen_Exception
  */
 public function handle(Oxygen_Http_Request $request, $requestData)
 {
     $actionDefinition = $this->actionRegistry->getDefinition($requestData->actionName);
     $hookName = $actionDefinition->getOption('hook_name');
     if ($hookName === null) {
         return $this->handleRaw($request, $requestData, $actionDefinition->getClass(), $actionDefinition->getMethod(), $requestData->actionParameters);
     }
     $actionClosure = new Oxygen_Util_Closure(array($this, 'handleRaw'), $request, $requestData, $actionDefinition->getClass(), $actionDefinition->getMethod(), $requestData->actionParameters);
     return new Oxygen_Util_HookedClosure($hookName, $actionClosure->getCallable());
 }