Class: ConnectorsSdk::Base::CustomClient
- Inherits:
-
Object
- Object
- ConnectorsSdk::Base::CustomClient
show all
- Defined in:
- lib/connectors_sdk/base/custom_client.rb
Constant Summary
collapse
- MAX_RETRIES =
5
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(base_url: nil, ensure_fresh_auth: nil) ⇒ CustomClient
Returns a new instance of CustomClient.
22
23
24
25
26
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 22
def initialize(base_url: nil, ensure_fresh_auth: nil)
@base_url = base_url
@ensure_fresh_auth = ensure_fresh_auth
middleware!
end
|
Instance Attribute Details
#base_url ⇒ Object
Returns the value of attribute base_url.
18
19
20
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 18
def base_url
@base_url
end
|
#ensure_fresh_auth ⇒ Object
Returns the value of attribute ensure_fresh_auth.
18
19
20
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 18
def ensure_fresh_auth
@ensure_fresh_auth
end
|
#middleware ⇒ Object
Returns the value of attribute middleware.
18
19
20
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 18
def middleware
@middleware
end
|
Instance Method Details
#additional_middleware ⇒ Object
34
35
36
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 34
def additional_middleware
[] end
|
#default_middleware ⇒ Object
38
39
40
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 38
def default_middleware
[[Faraday::Request::Retry, retry_config]]
end
|
#http_client ⇒ Object
71
72
73
74
75
76
77
78
79
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 71
def http_client
@http_client ||= Faraday.new(base_url) do |faraday|
middleware.each do |middleware_config|
faraday.use(*middleware_config)
end
faraday.adapter :httpclient
end
end
|
#http_client! ⇒ Object
66
67
68
69
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 66
def http_client!
@http_client = nil
http_client
end
|
#middleware! ⇒ Object
28
29
30
31
32
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 28
def middleware!
@middleware = Array.wrap(additional_middleware)
@middleware += Array.wrap(default_middleware)
@middleware.compact!
end
|
#retry_config ⇒ Object
42
43
44
45
46
47
48
49
|
# File 'lib/connectors_sdk/base/custom_client.rb', line 42
def retry_config
{
:retry_statuses => [429],
:backoff_factor => 2,
:max => MAX_RETRIES,
:interval => 0.05
}
end
|