diff options
-rw-r--r-- | app/lib/provider_discovery.rb | 2 | ||||
-rw-r--r-- | spec/fixtures/requests/oembed_json_xml.html | 8 | ||||
-rw-r--r-- | spec/fixtures/requests/oembed_xml.html | 8 |
3 files changed, 15 insertions, 3 deletions
diff --git a/app/lib/provider_discovery.rb b/app/lib/provider_discovery.rb index 04ba38101..5732e4fcb 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 b5fc9bed0..8afd8e997 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 5d7633e71..bdfcca170 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> |