public override GetLinkPreviewResponse CreatePreview(DataProviderInformation dataProviderInformation) { OEmbedInformation oembedInformation = (OEmbedInformation)dataProviderInformation; string text = oembedInformation.Text; OEmbedResponse oembedResponse = oembedInformation.OEmbedResponse; LinkPreviewBuilder linkPreviewBuilder = new OEmbedVideoPreviewBuilder(this.request, text, oembedResponse, this.logger, dataProviderInformation.ResponseUri); return(linkPreviewBuilder.Execute()); }
private static Uri GetOEmbedRequestUri(Uri uri) { string oembedQueryForUri = OEmbedVideoPreviewBuilder.GetOEmbedQueryForUri(uri); if (oembedQueryForUri != null) { return(new Uri(oembedQueryForUri)); } GetLinkPreview.ThrowInvalidRequestException("OEmbedQueryStringNotFound", string.Format("Could not get OEmbed query string for url {0}", uri.AbsoluteUri)); return(null); }
public static LinkPreviewDataProvider GetDataProvider(GetLinkPreviewRequest request, RequestDetailsLogger logger, bool activeViewsConvergenceEnabled) { Uri uri = LinkPreviewDataProvider.CreateUri(request.Url); LinkPreviewDataProvider result; Uri uri2; if (activeViewsConvergenceEnabled && OEmbedVideoPreviewBuilder.IsOEmbedVideoUri(uri, logger)) { result = new OEmbedDataProvider(uri, request, logger); } else if (WikipediaLinkPreviewBuilder.TryGetWikipediaServiceUri(uri, out uri2)) { result = new WikipediaDataProvider(uri2, request, logger); } else { result = new WebPageDataProvider(uri, request, logger); } return(result); }