/**
  * @Route("/{endpoint}/")
  * @Route("/{endpoint}/{objectId}/")
  * @Method("GET")
  *
  * Index action for bridge controller
  *
  * @param Request     $request
  * @param string      $endpoint Endpoint of the api
  * @param string|null $objectId Identifier of object to retrieve
  *
  * @throws ContentApiException
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function indexAction(Request $request, $endpoint, $objectId = null)
 {
     $data = [];
     $apiClient = $this->getClient();
     $sdk = $this->getSDK($apiClient);
     $parameters = $request->query->all();
     $requestParams = new RequestParameters();
     $requestParams->setQueryParameterArray($parameters);
     $endpointPath = sprintf('/%s', $endpoint);
     if ($this->isValidEndpoint($endpointPath)) {
         throw new ContentApiException(sprintf('Endpoint %s not supported.', $endpoint));
     }
     switch ($endpointPath) {
         case $sdk::SUPERDESK_ENDPOINT_ITEMS:
             if (!is_null($objectId)) {
                 $data = $sdk->getItem($objectId);
             } else {
                 $data = $sdk->getItems($requestParams);
             }
             break;
         case $sdk::SUPERDESK_ENDPOINT_PACKAGES:
             // TODO: Change this in the future to match the superdesk public api parameter name
             $resolve = isset($parameters['resolveItems']) && $parameters['resolveItems'] ? true : false;
             if (!is_null($objectId)) {
                 $data = $sdk->getPackage($objectId, $resolve);
             } else {
                 $data = $sdk->getPackages($requestParams, $resolve);
             }
             break;
     }
     return $this->render('SWPBridgeBundle:Default:data_dump.html.twig', ['data' => $data]);
 }