@ -7,14 +7,14 @@ class ActivityPub::FetchRemoteAccountService < BaseService
 | 
			
		||||
 | 
			
		||||
  # Should be called when uri has already been checked for locality
 | 
			
		||||
  # Does a WebFinger roundtrip on each call
 | 
			
		||||
  def call(uri, id: true, prefetched_body: nil)
 | 
			
		||||
  def call(uri, id: true, prefetched_body: nil, break_on_redirect: false)
 | 
			
		||||
    @json = if prefetched_body.nil?
 | 
			
		||||
              fetch_resource(uri, id)
 | 
			
		||||
            else
 | 
			
		||||
              body_to_json(prefetched_body)
 | 
			
		||||
            end
 | 
			
		||||
 | 
			
		||||
    return unless supported_context? && expected_type?
 | 
			
		||||
    return if !supported_context? || !expected_type? || (break_on_redirect && @json['movedTo'].present?)
 | 
			
		||||
 | 
			
		||||
    @uri      = @json['id']
 | 
			
		||||
    @username = @json['preferredUsername']
 | 
			
		||||
 | 
			
		||||
@ -175,7 +175,7 @@ class ActivityPub::ProcessAccountService < BaseService
 | 
			
		||||
 | 
			
		||||
  def moved_account
 | 
			
		||||
    account   = ActivityPub::TagManager.instance.uri_to_resource(@json['movedTo'], Account)
 | 
			
		||||
    account ||= ActivityPub::FetchRemoteAccountService.new.call(@json['movedTo'], id: true)
 | 
			
		||||
    account ||= ActivityPub::FetchRemoteAccountService.new.call(@json['movedTo'], id: true, break_on_redirect: true)
 | 
			
		||||
    account
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user