You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastodon/app/services/fetch_remote_resource_servi...

19 lines
435 B
Ruby

# frozen_string_literal: true
class FetchRemoteResourceService < BaseService
def call(url)
atom_url, body = FetchAtomService.new.call(url)
return nil if atom_url.nil?
xml = Nokogiri::XML(body)
xml.encoding = 'utf-8'
if xml.root.name == 'feed'
FetchRemoteAccountService.new.call(atom_url, body)
elsif xml.root.name == 'entry'
FetchRemoteStatusService.new.call(atom_url, body)
end
end
end