in gems/aws-crt/lib/aws-crt/auth/signing_config.rb [46:81]
def initialize(options = {})
@sign_header_fn = extract_unsigned_header_fn(
options[:unsigned_headers]
)
signed_body_header_type = options.fetch(
:signed_body_header_type,
:sbht_content_sha256
)
@credentials = options[:credentials]
manage_native do
Aws::Crt::Native.signing_config_aws_new
end
Aws::Crt::Native.signing_config_aws_set_algorithm(native, options[:algorithm])
Aws::Crt::Native.signing_config_aws_set_signature_type(native, options[:signature_type])
Aws::Crt::Native.signing_config_aws_set_region(native, options[:region], options[:region].length)
Aws::Crt::Native.signing_config_aws_set_service(native, options[:service], options[:service].length)
Aws::Crt::Native.signing_config_aws_set_date(native, extract_date(options))
Aws::Crt::Native.signing_config_aws_set_credentials_provider(native, @credentials&.native)
Aws::Crt::Native.signing_config_aws_set_signed_body_header_type(native, signed_body_header_type)
if @sign_header_fn
Aws::Crt::Native.signing_config_aws_set_should_sign_header_fn(native, @sign_header_fn)
end
assign_body_value(options)
assign_flags(options)
validate_config!
end