This commit is contained in:
parent
c3ef5d5414
commit
a231f915a0
|
@ -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
|
||||||
|
|
||||||
|
|
Reference in a new issue