in gems/aws-crt/lib/aws-crt/auth/signer.rb [16:46]
def self.sign_request(
signing_config, signable, method = 'default', path = 'default'
)
out = {}
callback = proc do |result, status, _userdata|
Aws::Crt::Errors.raise_last_error unless status.zero?
http_request = Http::Message.new(method, path)
Aws::Crt::Native.signing_result_apply_to_http_request(
result,
http_request.native
)
out[:path] = http_request.path
out[:headers] = http_request.headers
if (auth = out[:headers]['Authorization']) &&
(match = /Signature=([a-f0-9]+)/.match(auth))
out[:signature] = match[1]
end
out[:http_request] = http_request
nil
end
Aws::Crt::Native.sign_request_aws(
signable.native, signing_config.native, callback, nil
)
out
end