module Datadog::Tracing::Contrib::Aws::S3Presigner

def sign_but_dont_send(*args, &block)

https://github.com/aws/aws-sdk-ruby/blob/a82c8981c95a8296ffb6269c3c06a4f551d87f7d/gems/aws-sdk-s3/lib/aws-sdk-s3/presigner.rb#L194-L196
some of its plugins form interfering with the presigning process:
This is the same approach that the AWS SDK takes to prevent

Exclude our Handler from the current request's handler stack.
def sign_but_dont_send(*args, &block)
  if (request = args[0]).is_a?(::Seahorse::Client::Request)
    request.handlers.remove(Handler)
  end
  super(*args, &block)
end