correctly use keyword arguments when calling fetch_collection methods, also use keyword argument for raise_on_error in fetch_resource_without_id_validation

This commit is contained in:
sneakers-the-rat 2025-02-22 19:15:42 -08:00
parent d7a60dcd4b
commit 77ae92dd42
No known key found for this signature in database
GPG Key ID: 6DCB96EF1E4D232D
6 changed files with 9 additions and 9 deletions

View File

@ -162,14 +162,14 @@ module JsonLdHelper
# @param raise_on_error [Boolean, Symbol<:all, :temporary>] See {#fetch_resource_without_id_validation} for possible values
def fetch_resource(uri, id_is_known, on_behalf_of = nil, raise_on_error: false, request_options: {})
unless id_is_known
json = fetch_resource_without_id_validation(uri, on_behalf_of, raise_on_error)
json = fetch_resource_without_id_validation(uri, on_behalf_of, raise_on_error: raise_on_error)
return if !json.is_a?(Hash) || unsupported_uri_scheme?(json['id'])
uri = json['id']
end
json = fetch_resource_without_id_validation(uri, on_behalf_of, raise_on_error, request_options: request_options)
json = fetch_resource_without_id_validation(uri, on_behalf_of, raise_on_error: raise_on_error, request_options: request_options)
json.present? && json['id'] == uri ? json : nil
end
@ -190,7 +190,7 @@ module JsonLdHelper
# - +:temporary+ - raise if the response code is not an "unsalvageable error" like a 404
# (see {#response_error_unsalvageable} )
# - +false+ - do not raise, return +nil+
def fetch_resource_without_id_validation(uri, on_behalf_of = nil, raise_on_error = false, request_options: {})
def fetch_resource_without_id_validation(uri, on_behalf_of = nil, raise_on_error: false, request_options: {})
on_behalf_of ||= Account.representative
build_request(uri, on_behalf_of, options: request_options).perform do |response|

View File

@ -33,7 +33,7 @@ class ActivityPub::FetchFeaturedCollectionService < BaseService
return collection_or_uri if collection_or_uri.is_a?(Hash)
return if non_matching_uri_hosts?(@account.uri, collection_or_uri)
fetch_resource_without_id_validation(collection_or_uri, local_follower, :temporary)
fetch_resource_without_id_validation(collection_or_uri, local_follower, raise_on_error: :temporary)
end
def process_items(items)

View File

@ -45,7 +45,7 @@ class ActivityPub::FetchFeaturedTagsCollectionService < BaseService
return collection_or_uri if collection_or_uri.is_a?(Hash)
return if non_matching_uri_hosts?(@account.uri, collection_or_uri)
fetch_resource_without_id_validation(collection_or_uri, local_follower, :temporary)
fetch_resource_without_id_validation(collection_or_uri, local_follower, raise_on_error: :temporary)
end
def process_items(items)

View File

@ -83,7 +83,7 @@ class ActivityPub::FetchRemoteStatusService < BaseService
def fetch_status(uri, id_is_known, on_behalf_of = nil)
begin
fetch_resource(uri, id_is_known, on_behalf_of, true)
fetch_resource(uri, id_is_known, on_behalf_of, raise_on_error: true)
rescue Mastodon::UnexpectedResponseError => e
return unless e.response.code == 404

View File

@ -62,11 +62,11 @@ class ActivityPub::FetchRepliesService < BaseService
#
# Therefore, retry with correct signatures if this fails.
begin
fetch_resource_without_id_validation(collection_or_uri, nil, :temporary)
fetch_resource_without_id_validation(collection_or_uri, nil, raise_on_error: :temporary)
rescue Mastodon::UnexpectedResponseError => e
raise unless e.response && e.response.code == 401 && Addressable::URI.parse(collection_or_uri).query.present?
fetch_resource_without_id_validation(collection_or_uri, nil, :temporary, request_options: { omit_query_string: false })
fetch_resource_without_id_validation(collection_or_uri, nil, raise_on_error: :temporary, request_options: { omit_query_string: false })
end
end

View File

@ -69,6 +69,6 @@ class ActivityPub::SynchronizeFollowersService < BaseService
return collection_or_uri if collection_or_uri.is_a?(Hash)
return if non_matching_uri_hosts?(@account.uri, collection_or_uri)
fetch_resource_without_id_validation(collection_or_uri, nil, :temporary)
fetch_resource_without_id_validation(collection_or_uri, nil, raise_on_error: :temporary)
end
end