public function RestClient::getVersions in Salesforce Suite 8.4
Same name and namespace in other branches
- 8.3 src/Rest/RestClient.php \Drupal\salesforce\Rest\RestClient::getVersions()
 - 5.0.x src/Rest/RestClient.php \Drupal\salesforce\Rest\RestClient::getVersions()
 
Wrapper for "Versions" resource to list information about API releases.
Parameters
bool $reset: Whether to reset cache.
Return value
array Array of all available Salesforce versions, or empty array if version info is not available.
Throws
\GuzzleHttp\Exception\RequestException
Overrides RestClientInterface::getVersions
File
- src/
Rest/ RestClient.php, line 359  
Class
- RestClient
 - Objects, properties, and methods to communicate with the Salesforce REST API.
 
Namespace
Drupal\salesforce\RestCode
public function getVersions($reset = FALSE) {
  if (!$reset && ($cache = $this->cache
    ->get('salesforce:versions'))) {
    return $cache->data;
  }
  $versions = [];
  if (!$this->authProvider) {
    return [];
  }
  try {
    $id = $this->authProvider
      ->getIdentity();
  } catch (IdentityNotFoundException $e) {
    return [];
  }
  $url = str_replace('v{version}/', '', $id
    ->getUrl('rest'));
  $response = new RestResponse($this
    ->httpRequest($url));
  foreach ($response->data as $version) {
    $versions[$version['version']] = $version;
  }
  $this->cache
    ->set('salesforce:versions', $versions, $this
    ->getRequestTime() + self::LONGTERM_CACHE_LIFETIME, [
    'salesforce',
  ]);
  return $versions;
}