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

Inherits:
Seahorse::Client::Plugin show all
Defined in:
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, after_initialize_hooks, before_initialize, #before_initialize, before_initialize_hooks, handlers, option, options

Methods included from HandlerBuilder

#handle, #handle_request, #handle_response, #handler_for, #new_handler

Instance Method Details

#add_handlers(handlers, config) ⇒ Object


16
17
18
# File '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 '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