Fix link preview when OpenGraph image data is relative path not server URL

This commit is contained in:
Hank Grabowski 2022-03-16 15:20:57 -04:00
parent af69bb910b
commit c138bc9aec

View file

@ -45,6 +45,16 @@ class _LinkElementsComponentState extends State<LinkElementsComponent> {
var ogData = MetadataParser.openGraph(document); var ogData = MetadataParser.openGraph(document);
ogData.url ??= url.toString(); ogData.url ??= url.toString();
if (!(ogData.image?.startsWith('http') ?? true)) {
try {
final separator = ogData.image?.startsWith('/') ?? true ? '' : '/';
final serverPath = 'https://${url.host}$separator${ogData.image}';
ogData.image = serverPath;
} catch (e) {
_logger.finest(
'Unable to map relative ogData.image data into server url');
}
}
_linkPreviewData.add(ogData); _linkPreviewData.add(ogData);
} }