You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Seahorse::Client::Plugins::Endpoint

Inherits:
Seahorse::Client::Plugin show all
Defined in:
aws-sdk-core/lib/seahorse/client/plugins/endpoint.rb

Defined Under Namespace

Classes: Handler

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Plugin

#add_options, after_initialize, #before_initialize, before_initialize, option

Methods included from HandlerBuilder

#handle, #handle_request, #handle_response

Instance Method Details

#add_handlers(handlers, config) ⇒ Object



16
17
18
# File 'aws-sdk-core/lib/seahorse/client/plugins/endpoint.rb', line 16

def add_handlers(handlers, config)
  handlers.add(Handler, priority: 90)
end

#after_initialize(client) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'aws-sdk-core/lib/seahorse/client/plugins/endpoint.rb', line 20

def after_initialize(client)

  endpoint = client.config.endpoint
  if endpoint.nil?
    msg = "missing required option `:endpoint'"
    raise ArgumentError, msg
  end

  endpoint = URI.parse(endpoint.to_s)
  if URI::HTTPS === endpoint or URI::HTTP === endpoint
    client.config.endpoint = endpoint
  else
    msg = 'expected :endpoint to be a HTTP or HTTPS endpoint'
    raise ArgumentError, msg
  end
end