diff --git a/app/services/fetch_atom_service.rb b/app/services/fetch_atom_service.rb index 7c54714a2225370093dadf177e5c378fd0e58a20..1c47a22da4ab068464bf9283bb38a1b467b7c6f6 100644 --- a/app/services/fetch_atom_service.rb +++ b/app/services/fetch_atom_service.rb @@ -45,7 +45,7 @@ class FetchAtomService < BaseService elsif ['application/activity+json', 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"'].include?(@response.mime_type) json = body_to_json(@response.to_s) if supported_context?(json) && json['type'] == 'Person' && json['inbox'].present? - [json['id'], { id: true }, :activitypub] + [json['id'], { prefetched_body: @response.to_s, id: true }, :activitypub] else @unsupported_activity = true nil diff --git a/app/services/fetch_remote_resource_service.rb b/app/services/fetch_remote_resource_service.rb index 341664272aae0a93e40c3d860dd22d0cc0004df8..6d40796f24f84bef5af1a26f10d6dcf6939dd696 100644 --- a/app/services/fetch_remote_resource_service.rb +++ b/app/services/fetch_remote_resource_service.rb @@ -33,7 +33,7 @@ class FetchRemoteResourceService < BaseService end def body - fetched_atom_feed.second + fetched_atom_feed.second[:prefetched_body] end def protocol diff --git a/spec/services/fetch_remote_resource_service_spec.rb b/spec/services/fetch_remote_resource_service_spec.rb index c14fcfc4e6c05b804a6c601da527982beea34591..b80fb2475059de55daf6b22d71f273b1c3b05620 100644 --- a/spec/services/fetch_remote_resource_service_spec.rb +++ b/spec/services/fetch_remote_resource_service_spec.rb @@ -22,7 +22,7 @@ describe FetchRemoteResourceService do allow(FetchAtomService).to receive(:new).and_return service feed_url = 'http://feed-url' feed_content = '<feed>contents</feed>' - allow(service).to receive(:call).with(url).and_return([feed_url, feed_content]) + allow(service).to receive(:call).with(url).and_return([feed_url, { prefetched_body: feed_content }]) account_service = double allow(FetchRemoteAccountService).to receive(:new).and_return(account_service) @@ -39,7 +39,7 @@ describe FetchRemoteResourceService do allow(FetchAtomService).to receive(:new).and_return service feed_url = 'http://feed-url' feed_content = '<entry>contents</entry>' - allow(service).to receive(:call).with(url).and_return([feed_url, feed_content]) + allow(service).to receive(:call).with(url).and_return([feed_url, { prefetched_body: feed_content }]) account_service = double allow(FetchRemoteStatusService).to receive(:new).and_return(account_service)