/** * Instantiate resource class, set parameters to the instance, run resource internal dispatch method * * @param Mage_Api2_Model_Request $request * @param Mage_Api2_Model_Response $response * @return Mage_Api2_Model_Dispatcher * @throws Mage_Api2_Exception */ public function dispatch(Mage_Api2_Model_Request $request, Mage_Api2_Model_Response $response) { if (!$request->getModel() || !$request->getApiType()) { throw new Mage_Api2_Exception('Request does not contains all necessary data', Mage_Api2_Model_Server::HTTP_BAD_REQUEST); } $model = self::loadResourceModel($request->getModel(), $request->getApiType(), $this->getApiUser()->getType(), $this->getVersion($request->getResourceType(), $request->getVersion())); $model->setRequest($request); $model->setResponse($response); $model->setApiUser($this->getApiUser()); $model->dispatch(); return $this; }
/** * Set request * * @param Mage_Api2_Model_Request $request * @return Mage_Api2_Model_Resource */ public function setRequest(Mage_Api2_Model_Request $request) { $this->setResourceType($request->getResourceType()); $this->setApiType($request->getApiType()); $this->_request = $request; return $this; }