5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/onebox/engine/standard_embed.rb', line 5
def raw
return @raw if @raw
response = fetch_response(url)
html_doc = Nokogiri::HTML(response.body)
oembed_alternate = html_doc.at("//link[@type='application/json+oembed']") || html_doc.at("//link[@type='text/json+oembed']")
if oembed_alternate
begin
@raw = Onebox::Helpers.symbolize_keys(::MultiJson.load(fetch_response(oembed_alternate['href']).body))
rescue Errno::ECONNREFUSED, Net::HTTPError, MultiJson::LoadError
@raw = nil
end
end
open_graph = OpenGraph.new(response.body, false)
if @raw
@raw[:image] = open_graph.images.first if @raw[:image].nil? && open_graph && open_graph.images
return @raw
end
@raw = open_graph
end
|