Sha256: 63d0c70bafeb3888621dd5e2519f7f243e64cf045d06e5376a37787b77af7171

Contents?: true

Size: 865 Bytes

Versions: 203

Compression:

Stored size: 865 Bytes

Contents

# frozen_string_literal: true

module Aws
  module Plugins

    # apply APIG custom authorizer token to
    # operations with 'authtype' of 'custom' only
    class APIGAuthorizerToken < Seahorse::Client::Plugin

      option(:authorizer_token, default: nil)

      def add_handlers(handlers, config)
        handlers.add(AuthTokenHandler, step: :sign)
      end

      # @api private
      class AuthTokenHandler < Seahorse::Client::Handler

        def call(context)
          if context.operation['authtype'] == 'custom' &&
            context.config.authorizer_token &&
            context.authorizer.placement[:location] == 'header'

            header = context.authorizer.placement[:name]
            context.http_request.headers[header] = context.config.authorizer_token
          end
          @handler.call(context)
        end
      end
    end
  end
end

Version data entries

203 entries across 203 versions & 1 rubygems

Version Path
aws-sdk-core-3.220.2 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.220.1 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.220.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.219.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.218.1 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.218.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.217.1 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.217.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.216.1 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.216.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.215.1 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.215.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.214.1 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.214.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.213.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.212.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.211.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.210.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.209.1 lib/aws-sdk-core/plugins/apig_authorizer_token.rb
aws-sdk-core-3.209.0 lib/aws-sdk-core/plugins/apig_authorizer_token.rb