Class: Imgwire::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/imgwire/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key:, base_url: 'https://api.imgwire.dev', environment_id: nil, timeout: 30, max_retries: 2, backoff_factor: 0.5, upload_http_client: nil) ⇒ Client

Returns a new instance of Client.



9
10
11
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
37
38
39
40
41
# File 'lib/imgwire/client.rb', line 9

def initialize(
  api_key:,
  base_url: 'https://api.imgwire.dev',
  environment_id: nil,
  timeout: 30,
  max_retries: 2,
  backoff_factor: 0.5,
  upload_http_client: nil
)
  @options = ClientOptions.new(
    api_key: api_key,
    base_url: base_url.sub(%r{/\z}, ''),
    environment_id: environment_id,
    timeout: timeout,
    max_retries: max_retries,
    backoff_factor: backoff_factor,
    upload_http_client: upload_http_client || HTTP::UploadClient.new
  )

  configuration = ImgwireGenerated::Configuration.new
  apply_base_url(configuration, @options.base_url)
  configuration.timeout = @options.timeout

  @api_client = ImgwireGenerated::ApiClient.new(configuration)
  @api_client.default_headers['Authorization'] = "Bearer #{api_key}"
  @api_client.default_headers['User-Agent'] = "imgwire-ruby/#{Imgwire::VERSION}"
  @api_client.default_headers['X-Environment-Id'] = environment_id if environment_id

  @images = Resources::ImagesResource.new(@api_client, @options)
  @custom_domain = Resources::CustomDomainResource.new(@api_client)
  @cors_origins = Resources::CorsOriginsResource.new(@api_client)
  @metrics = Resources::MetricsResource.new(@api_client)
end

Instance Attribute Details

#api_clientObject (readonly)

Returns the value of attribute api_client.



7
8
9
# File 'lib/imgwire/client.rb', line 7

def api_client
  @api_client
end

#cors_originsObject (readonly)

Returns the value of attribute cors_origins.



7
8
9
# File 'lib/imgwire/client.rb', line 7

def cors_origins
  @cors_origins
end

#custom_domainObject (readonly)

Returns the value of attribute custom_domain.



7
8
9
# File 'lib/imgwire/client.rb', line 7

def custom_domain
  @custom_domain
end

#imagesObject (readonly)

Returns the value of attribute images.



7
8
9
# File 'lib/imgwire/client.rb', line 7

def images
  @images
end

#metricsObject (readonly)

Returns the value of attribute metrics.



7
8
9
# File 'lib/imgwire/client.rb', line 7

def metrics
  @metrics
end

#optionsObject (readonly)

Returns the value of attribute options.



7
8
9
# File 'lib/imgwire/client.rb', line 7

def options
  @options
end