Fix XML oEmbed support discovery (#6104)
This commit is contained in:
		
							parent
							
								
									127bfda521
								
							
						
					
					
						commit
						e0ef7f9d79
					
				
					 3 changed files with 15 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										8
									
								
								spec/fixtures/requests/oembed_json_xml.html
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								spec/fixtures/requests/oembed_json_xml.html
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										8
									
								
								spec/fixtures/requests/oembed_xml.html
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								spec/fixtures/requests/oembed_xml.html
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue