eZ\Bundle\EzPublishRestBundle\Routing\OptionsLoader\Mapper::mapRoute PHP Method

mapRoute() public method

public mapRoute ( Symfony\Component\Routing\Route $route ) : Symfony\Component\Routing\Route
$route Symfony\Component\Routing\Route Route REST route
return Symfony\Component\Routing\Route
    public function mapRoute(Route $route)
    {
        $optionsRoute = clone $route;
        $optionsRoute->setMethods(array('OPTIONS'));
        $optionsRoute->setDefault('_controller', '_ezpublish_rest.controller.options:getRouteOptions');
        $optionsRoute->setDefault('allowedMethods', implode(',', $route->getMethods()));
        return $optionsRoute;
    }

Usage Example

 public function testMapRoute()
 {
     $restRoute = new Route('/route/one/{id}', array('_controller' => 'anything'), array('id' => '[0-9]+'), array(), '', array(), array('PUT', 'DELETE'));
     $optionsRoute = $this->mapper->mapRoute($restRoute);
     self::assertEquals(array('OPTIONS'), $optionsRoute->getMethods());
     self::assertEquals($restRoute->getRequirement('id'), $optionsRoute->getRequirement('id'));
     self::assertEquals('PUT,DELETE', $optionsRoute->getDefault('allowedMethods'));
     self::assertEquals('_ezpublish_rest.controller.options:getRouteOptions', $optionsRoute->getDefault('_controller'));
 }
All Usage Examples Of eZ\Bundle\EzPublishRestBundle\Routing\OptionsLoader\Mapper::mapRoute