You are here

protected function UrlResolver::discoverResourceUrl in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/media/src/OEmbed/UrlResolver.php \Drupal\media\OEmbed\UrlResolver::discoverResourceUrl()

Runs oEmbed discovery and returns the endpoint URL if successful.

Parameters

string $url: The resource's URL.

Return value

string|bool URL of the oEmbed endpoint, or FALSE if the discovery was unsuccessful.

1 call to UrlResolver::discoverResourceUrl()
UrlResolver::getProviderByUrl in core/modules/media/src/OEmbed/UrlResolver.php
Tries to determine the oEmbed provider for a media asset URL.

File

core/modules/media/src/OEmbed/UrlResolver.php, line 97

Class

UrlResolver
Converts oEmbed media URLs into endpoint-specific resource URLs.

Namespace

Drupal\media\OEmbed

Code

protected function discoverResourceUrl($url) {
  try {
    $response = $this->httpClient
      ->get($url);
  } catch (TransferException $e) {
    return FALSE;
  }
  $document = Html::load((string) $response
    ->getBody());
  $xpath = new \DOMXpath($document);
  return $this
    ->findUrl($xpath, 'json') ?: $this
    ->findUrl($xpath, 'xml');
}