Method: Mailgun::Client#initialize

Defined in:
lib/mailgun/client.rb

#initialize(api_key = Mailgun.api_key, api_host = Mailgun.api_host || 'api.mailgun.net', api_version = Mailgun.api_version || 'v3', ssl = true, test_mode = !Mailgun.test_mode.nil?,, timeout = nil, proxy_url = Mailgun.proxy_url) ⇒ Client

Returns a new instance of Client.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/mailgun/client.rb', line 12

def initialize(api_key = Mailgun.api_key,
               api_host = Mailgun.api_host || 'api.mailgun.net',
               api_version = Mailgun.api_version || 'v3',
               ssl = true,
               test_mode = !Mailgun.test_mode.nil?,
               timeout = nil,
               proxy_url = Mailgun.proxy_url)
  endpoint = endpoint_generator(api_host, api_version, ssl)

  request_options = {
    url: endpoint,
    proxy: proxy_url,
    ssl: { verify: ssl },
    headers: {
      'User-Agent' => "mailgun-sdk-ruby/#{Mailgun::VERSION}",
      'Accept' => '*/*'
    }
  }
  request_options.merge!(request: { timeout: timeout }) if timeout

  @http_client = build_http_client(api_key, request_options)

  @test_mode = test_mode
  @api_version = api_version
end