diff options
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/fetch_remote_account_service.rb | 9 | ||||
-rw-r--r-- | app/services/fetch_remote_resource_service.rb | 4 | ||||
-rw-r--r-- | app/services/fetch_remote_status_service.rb | 9 |
3 files changed, 16 insertions, 6 deletions
diff --git a/app/services/fetch_remote_account_service.rb b/app/services/fetch_remote_account_service.rb index baefa3a86..6a6a696d6 100644 --- a/app/services/fetch_remote_account_service.rb +++ b/app/services/fetch_remote_account_service.rb @@ -1,8 +1,13 @@ # frozen_string_literal: true class FetchRemoteAccountService < BaseService - def call(url) - atom_url, body = FetchAtomService.new.call(url) + def call(url, prefetched_body = nil) + if prefetched_body.nil? + atom_url, body = FetchAtomService.new.call(url) + else + atom_url = url + body = prefetched_body + end return nil if atom_url.nil? process_atom(atom_url, body) diff --git a/app/services/fetch_remote_resource_service.rb b/app/services/fetch_remote_resource_service.rb index 80aa74365..2185ceb20 100644 --- a/app/services/fetch_remote_resource_service.rb +++ b/app/services/fetch_remote_resource_service.rb @@ -10,9 +10,9 @@ class FetchRemoteResourceService < BaseService xml.encoding = 'utf-8' if xml.root.name == 'feed' - FetchRemoteAccountService.new.call(atom_url) + FetchRemoteAccountService.new.call(atom_url, body) elsif xml.root.name == 'entry' - FetchRemoteStatusService.new.call(atom_url) + FetchRemoteStatusService.new.call(atom_url, body) end end end diff --git a/app/services/fetch_remote_status_service.rb b/app/services/fetch_remote_status_service.rb index 7063231e4..e2d185723 100644 --- a/app/services/fetch_remote_status_service.rb +++ b/app/services/fetch_remote_status_service.rb @@ -1,8 +1,13 @@ # frozen_string_literal: true class FetchRemoteStatusService < BaseService - def call(url) - atom_url, body = FetchAtomService.new.call(url) + def call(url, prefetched_body = nil) + if prefetched_body.nil? + atom_url, body = FetchAtomService.new.call(url) + else + atom_url = url + body = prefetched_body + end return nil if atom_url.nil? process_atom(atom_url, body) |