0
0
Fork 0

Move HTTP Signature parsing code to its own class (#28932)

This commit is contained in:
Claire 2024-02-07 14:35:37 +01:00 committed by GitHub
parent 17052714a2
commit 7efc33b909
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 91 additions and 42 deletions

View file

@ -62,11 +62,10 @@ class ActivityPub::InboxesController < ActivityPub::BaseController
return if raw_params.blank? || ENV['DISABLE_FOLLOWERS_SYNCHRONIZATION'] == 'true' || signed_request_account.nil?
# Re-using the syntax for signature parameters
tree = SignatureParamsParser.new.parse(raw_params)
params = SignatureParamsTransformer.new.apply(tree)
params = SignatureParser.parse(raw_params)
ActivityPub::PrepareFollowersSynchronizationService.new.call(signed_request_account, params)
rescue Parslet::ParseFailed
rescue SignatureParser::ParsingError
Rails.logger.warn 'Error parsing Collection-Synchronization header'
end