about summary refs log tree commit diff
path: root/app/services/fetch_remote_status_service.rb
blob: e8f9a671bc2224af33e70864c312aed0e547c643 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true

class FetchRemoteStatusService < BaseService
  def call(url, prefetched_body = nil, announced_by: nil, requested: false)
    if prefetched_body.nil?
      resource_url, resource_options = FetchAtomService.new.call(url)
      resource_options = {} if resource_options.nil?
    else
      resource_url     = url
      resource_options = { prefetched_body: prefetched_body }
    end

    resource_options[:announced_by] = announced_by unless announced_by.nil?
    resource_options[:requested] = true if requested

    return if resource_url.blank?
    ActivityPub::FetchRemoteStatusService.new.call(resource_url, **resource_options)
  end
end