Esempio n. 1
0
 /**
  * Route the Request, the only responsibility of the class.
  * Find route that matches current URL, set parameters of the route to Request object.
  *
  * @param Mage_Webapi_Controller_Request_Rest $request
  * @return Mage_Webapi_Controller_Router_Route_Rest
  * @throws Mage_Webapi_Exception
  */
 public function match(Mage_Webapi_Controller_Request_Rest $request)
 {
     /** @var Mage_Webapi_Controller_Router_Route_Rest[] $routes */
     $routes = $this->_apiConfig->getAllRestRoutes();
     foreach ($routes as $route) {
         $params = $route->match($request);
         if ($params !== false) {
             $request->setParams($params);
             /** Initialize additional request parameters using data from route */
             $request->setResourceName($route->getResourceName());
             $request->setResourceType($route->getResourceType());
             return $route;
         }
     }
     throw new Mage_Webapi_Exception($this->_helper->__('Request does not match any route.'), Mage_Webapi_Exception::HTTP_NOT_FOUND);
 }