summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/lib/provider_discovery.rb2
-rw-r--r--spec/fixtures/requests/oembed_json_xml.html8
-rw-r--r--spec/fixtures/requests/oembed_xml.html8
3 files changed, 15 insertions, 3 deletions
diff --git a/app/lib/provider_discovery.rb b/app/lib/provider_discovery.rb
index 04ba381010e..5732e4fcb43 100644
--- a/app/lib/provider_discovery.rb
+++ b/app/lib/provider_discovery.rb
@@ -29,7 +29,7 @@ class ProviderDiscovery < OEmbed::ProviderDiscovery
end
if format.nil? || format == :xml
- provider_endpoint ||= html.at_xpath('//link[@type="application/xml+oembed"]')&.attribute('href')&.value
+ provider_endpoint ||= html.at_xpath('//link[@type="text/xml+oembed"]')&.attribute('href')&.value
format ||= :xml if provider_endpoint
end
diff --git a/spec/fixtures/requests/oembed_json_xml.html b/spec/fixtures/requests/oembed_json_xml.html
index b5fc9bed09c..8afd8e9972f 100644
--- a/spec/fixtures/requests/oembed_json_xml.html
+++ b/spec/fixtures/requests/oembed_json_xml.html
@@ -1,8 +1,14 @@
<!DOCTYPE html>
<html>
<head>
+ <!--
+ oEmbed
+ https://oembed.com/
+ > The type attribute must contain either application/json+oembed for JSON
+ > responses, or text/xml+oembed for XML.
+ -->
<link href='https://host/provider.json' rel='alternate' type='application/json+oembed'>
- <link href='https://host/provider.xml' rel='alternate' type='application/xml+oembed'>
+ <link href='https://host/provider.xml' rel='alternate' type='text/xml+oembed'>
</head>
<body></body>
</html>
diff --git a/spec/fixtures/requests/oembed_xml.html b/spec/fixtures/requests/oembed_xml.html
index 5d7633e7132..bdfcca17078 100644
--- a/spec/fixtures/requests/oembed_xml.html
+++ b/spec/fixtures/requests/oembed_xml.html
@@ -1,7 +1,13 @@
<!DOCTYPE html>
<html>
<head>
- <link href='https://host/provider.xml' rel='alternate' type='application/xml+oembed'>
+ <!--
+ oEmbed
+ https://oembed.com/
+ > The type attribute must contain either application/json+oembed for JSON
+ > responses, or text/xml+oembed for XML.
+ -->
+ <link href='https://host/provider.xml' rel='alternate' type='text/xml+oembed'>
</head>
<body></body>
</html>