Browse Source

mastodon api: use OGP uri instead of page_url for deducing domain name, fix test

tags/v0.9.9
William Pitcock 5 years ago
parent
commit
1f7843b9b8
2 changed files with 4 additions and 1 deletions
  1. +3
    -1
      lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
  2. +1
    -0
      test/web/mastodon_api/mastodon_api_controller_test.exs

+ 3
- 1
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex View File

@@ -1329,12 +1329,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
%Object{} = object <- Object.normalize(activity.data["object"]),
page_url <- HTML.extract_first_external_url(object, object.data["content"]),
{:ok, rich_media} <- Pleroma.Web.RichMedia.Parser.parse(page_url) do
page_url = rich_media[:url] || page_url
site_name = rich_media[:site_name] || URI.parse(page_url).host

rich_media
|> Map.take([:image, :title, :url, :description])
|> Map.take([:image, :title, :description])
|> Map.put(:type, "link")
|> Map.put(:provider_name, site_name)
|> Map.put(:url, page_url)
else
_ -> %{}
end


+ 1
- 0
test/web/mastodon_api/mastodon_api_controller_test.exs View File

@@ -1634,6 +1634,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do

assert response == %{
"image" => "http://ia.media-imdb.com/images/rock.jpg",
"provider_name" => "www.imdb.com",
"title" => "The Rock",
"type" => "link",
"url" => "http://www.imdb.com/title/tt0117500/"


Loading…
Cancel
Save