This commit is contained in:
		
							parent
							
								
									c3ef5d5414
								
							
						
					
					
						commit
						a231f915a0
					
				
					 2 changed files with 6 additions and 1 deletions
				
			
		| 
						 | 
					@ -11,8 +11,12 @@ class FetchLinkCardService < BaseService
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return if url.nil?
 | 
					    return if url.nil?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    url = Addressable::URI.parse(url).normalize.to_s
 | 
					    url  = Addressable::URI.parse(url).normalize.to_s
 | 
				
			||||||
    card = PreviewCard.where(status: status).first_or_initialize(status: status, url: url)
 | 
					    card = PreviewCard.where(status: status).first_or_initialize(status: status, url: url)
 | 
				
			||||||
 | 
					    res  = http_client.head(url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return if res.code != 200 || res.mime_type != 'text/html'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    attempt_opengraph(card, url) unless attempt_oembed(card, url)
 | 
					    attempt_opengraph(card, url) unless attempt_oembed(card, url)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@ require 'rails_helper'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RSpec.describe FetchLinkCardService do
 | 
					RSpec.describe FetchLinkCardService do
 | 
				
			||||||
  before do
 | 
					  before do
 | 
				
			||||||
 | 
					    stub_request(:head, 'http://example.xn--fiqs8s/').to_return(status: 200, headers: { 'Content-Type' => 'text/html' })
 | 
				
			||||||
    stub_request(:get, 'http://example.xn--fiqs8s/').to_return(request_fixture('idn.txt'))
 | 
					    stub_request(:get, 'http://example.xn--fiqs8s/').to_return(request_fixture('idn.txt'))
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue