class RubyLLM::Providers::Bedrock::Signing::SignerOptionExtractor
Utility for extracting options and config
def self.extract_credentials_provider(options)
def self.extract_credentials_provider(options) if options[:credentials_provider] options[:credentials_provider] elsif options.key?(:credentials) || options.key?(:access_key_id) StaticCredentialsProvider.new(options) else raise Errors::MissingCredentialsError end end
def self.extract_region(options)
def self.extract_region(options) raise Errors::MissingRegionError unless options[:region] options[:region] end
def self.extract_service(options)
def self.extract_service(options) if options[:service] options[:service] else msg = 'missing required option :service' raise ArgumentError, msg end end
def self.initialize_unsigned_headers(options)
def self.initialize_unsigned_headers(options) headers = Set.new(options.fetch(:unsigned_headers, []).map(&:downcase)) headers.merge(%w[authorization x-amzn-trace-id expect]) end