diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-11-19 18:51:41 +0100 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2021-11-19 18:51:41 +0100 |
commit | 2b4c7beb733b809e8c9bec7492254ccf09d830b1 (patch) | |
tree | 200fc89e67e2c51493a87c4b8745d9d0180699f9 /app/lib | |
parent | f2b376e9d82577dc630757a2b927d02f8bfcf4b0 (diff) | |
parent | db32835338e113f23a474d323e398916a999619f (diff) |
Merge branch 'main' into glitch-soc/merge-upstream
Diffstat (limited to 'app/lib')
-rw-r--r-- | app/lib/link_details_extractor.rb | 4 | ||||
-rw-r--r-- | app/lib/webfinger.rb | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb index 3876173e0..8b38e8d0c 100644 --- a/app/lib/link_details_extractor.rb +++ b/app/lib/link_details_extractor.rb @@ -59,7 +59,7 @@ class LinkDetailsExtractor end def json - @json ||= Oj.load(@data) + @json ||= first_of_value(Oj.load(@data)) end end @@ -178,6 +178,8 @@ class LinkDetailsExtractor @structured_data ||= begin json_ld = document.xpath('//script[@type="application/ld+json"]').map(&:content).first json_ld.present? ? StructuredData.new(json_ld) : nil + rescue Oj::ParseError + nil end end diff --git a/app/lib/webfinger.rb b/app/lib/webfinger.rb index e0e022cea..1ffb5b4bf 100644 --- a/app/lib/webfinger.rb +++ b/app/lib/webfinger.rb @@ -46,7 +46,9 @@ class Webfinger def body_from_webfinger(url = standard_url, use_fallback = true) webfinger_request(url).perform do |res| if res.code == 200 - res.body_with_limit + body = res.body_with_limit + raise Webfinger::Error, "Request for #{@uri} returned empty response" if body.empty? + body elsif res.code == 404 && use_fallback body_from_host_meta elsif res.code == 410 |