/**
  * Loop through a set of API results that are available in pages, returning the full resultset as one array
  * @param ModifyableRequest $request
  * @param string $rootElement
  * @param array $params
  * @return array
  */
 public function processPaged(ModifyableRequest $request, $rootElement, array $params = array())
 {
     if (empty($params['page'])) {
         $params['page'] = 1;
     }
     if (empty($params['limit'])) {
         $params['limit'] = 250;
     }
     $allResults = array();
     do {
         $pagedRequest = clone $request;
         $requestUrl = $request->getUrl();
         $paramDelim = strstr($requestUrl, '?') ? '&' : '?';
         $pagedRequest->setUrl($requestUrl . $paramDelim . http_build_query($params));
         $response = $this->process($pagedRequest);
         $root = $response->get($rootElement);
         if ($pageResults = empty($root) ? false : $root) {
             $allResults = array_merge($allResults, $pageResults);
         }
         $params['page']++;
     } while ($pageResults);
     return $allResults;
 }
 /**
  * @param ModifyableRequest $request
  */
 public function modify(ModifyableRequest $request)
 {
     $url = $request->getUrl();
     $url = 'https://' . $this->shopName . $url;
     $request->setUrl($url);
 }
 /**
  * @param ModifyableRequest $request
  */
 public function modify(ModifyableRequest $request)
 {
     $request->addHeader('X-Shopify-Access-Token', $this->accessToken);
 }