public function BaseParser::parseUrl in Markdown 3.0.x
Parses markdown from an external URL into HTML.
Parameters
string|\Drupal\Core\Url|\Psr\Http\Message\UriInterface $url: An external URL of a markdown file to parse.
\Drupal\Core\Language\LanguageInterface $language: Optional. The language of the markdown that is being parsed.
Return value
\Drupal\markdown\ParsedMarkdownInterface A ParsedMarkdownInterface object.
Throws
\Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException When the provided $url does not exist or is not reachable.
Overrides MarkdownParserInterface::parseUrl
File
- src/
Plugin/ Markdown/ BaseParser.php, line 426
Class
- BaseParser
- Plugin annotation @MarkdownParser( id = "_broken", label = @Translation("Missing Parser"), )
Namespace
Drupal\markdown\Plugin\MarkdownCode
public function parseUrl($url, LanguageInterface $language = NULL) {
if ($url instanceof Url) {
$url = $url
->setAbsolute()
->toString();
}
$response = \Drupal::httpClient()
->get($url);
if ($response
->getStatusCode() >= 200 && $response
->getStatusCode() < 400) {
$contents = $response
->getBody()
->getContents();
}
else {
throw new FileNotFoundException((string) $url);
}
return $this
->parse($contents, $language);
}