Let :oembed_providers_enabled be configurable
This commit is contained in:
parent
8e2ff7669a
commit
6b2fa5f0bb
4 changed files with 10 additions and 1 deletions
|
@ -412,6 +412,7 @@
|
||||||
Pleroma.Web.RichMedia.Parsers.OEmbed,
|
Pleroma.Web.RichMedia.Parsers.OEmbed,
|
||||||
Pleroma.Web.RichMedia.Parsers.TwitterCard
|
Pleroma.Web.RichMedia.Parsers.TwitterCard
|
||||||
],
|
],
|
||||||
|
oembed_providers_enabled: true,
|
||||||
failure_backoff: 60_000,
|
failure_backoff: 60_000,
|
||||||
ttl_setters: [Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl]
|
ttl_setters: [Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl]
|
||||||
|
|
||||||
|
|
|
@ -1976,6 +1976,12 @@
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
description: "Enables RichMedia parsing of URLs"
|
description: "Enables RichMedia parsing of URLs"
|
||||||
},
|
},
|
||||||
|
%{
|
||||||
|
key: :oembed_providers_enabled,
|
||||||
|
type: :boolean,
|
||||||
|
description:
|
||||||
|
"Embed rich media from a list of known providers. This takes precedence over other parsers."
|
||||||
|
},
|
||||||
%{
|
%{
|
||||||
key: :ignore_hosts,
|
key: :ignore_hosts,
|
||||||
type: {:list, :string},
|
type: {:list, :string},
|
||||||
|
|
|
@ -362,6 +362,7 @@ config :pleroma, Pleroma.Web.MediaProxy.Invalidation.Http,
|
||||||
* `ignore_hosts`: list of hosts which will be ignored by the metadata parser. For example `["accounts.google.com", "xss.website"]`, defaults to `[]`.
|
* `ignore_hosts`: list of hosts which will be ignored by the metadata parser. For example `["accounts.google.com", "xss.website"]`, defaults to `[]`.
|
||||||
* `ignore_tld`: list TLDs (top-level domains) which will ignore for parse metadata. default is ["local", "localdomain", "lan"].
|
* `ignore_tld`: list TLDs (top-level domains) which will ignore for parse metadata. default is ["local", "localdomain", "lan"].
|
||||||
* `parsers`: list of Rich Media parsers.
|
* `parsers`: list of Rich Media parsers.
|
||||||
|
* `oembed_providers_enabled`: Embed rich media from a list of known providers. This takes precedence over other parsers.
|
||||||
* `failure_backoff`: Amount of milliseconds after request failure, during which the request will not be retried.
|
* `failure_backoff`: Amount of milliseconds after request failure, during which the request will not be retried.
|
||||||
|
|
||||||
## HTTP server
|
## HTTP server
|
||||||
|
|
|
@ -140,7 +140,8 @@ def parse_url(url) do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp maybe_fetch_oembed(url) do
|
defp maybe_fetch_oembed(url) do
|
||||||
with {:ok, oembed_url} <- OEmbedProviders.oembed_url(url),
|
with true <- Pleroma.Config.get([:rich_media, :oembed_providers_enabled]),
|
||||||
|
{:ok, oembed_url} <- OEmbedProviders.oembed_url(url),
|
||||||
{:ok, %Tesla.Env{body: json}} <-
|
{:ok, %Tesla.Env{body: json}} <-
|
||||||
Pleroma.Web.RichMedia.Helpers.oembed_get(oembed_url),
|
Pleroma.Web.RichMedia.Helpers.oembed_get(oembed_url),
|
||||||
{:ok, data} <- Jason.decode(json),
|
{:ok, data} <- Jason.decode(json),
|
||||||
|
|
Loading…
Reference in a new issue