Class: SplitIoClient::Api::Client
- Inherits:
-
Object
- Object
- SplitIoClient::Api::Client
show all
- Defined in:
- lib/splitclient-rb/engine/api/client.rb
Instance Method Summary
collapse
Constructor Details
#initialize(config) ⇒ Client
Returns a new instance of Client.
6
7
8
9
10
|
# File 'lib/splitclient-rb/engine/api/client.rb', line 6
def initialize(config)
@config = config
check_faraday_compatibility
end
|
Instance Method Details
#get_api(url, api_key, params = {}, cache_control_headers = false) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/splitclient-rb/engine/api/client.rb', line 12
def get_api(url, api_key, params = {}, = false)
api_client.get(url, params) do |req|
req. = (api_key).merge('Accept-Encoding' => 'gzip')
req. = req..merge('Cache-Control' => 'no-cache') if
req.options[:timeout] = @config.read_timeout
req.options[:open_timeout] = @config.connection_timeout
@config.split_logger.log_if_debug("GET #{url} proxy: #{api_client.proxy}")
end
rescue StandardError => e
@config.logger.warn("#{e}\nURL:#{url}\nparams:#{params}")
raise e, 'Split SDK failed to connect to backend to retrieve information', e.backtrace
end
|
#post_api(url, api_key, data, headers = {}, params = {}) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/splitclient-rb/engine/api/client.rb', line 27
def post_api(url, api_key, data, = {}, params = {})
api_client.post(url) do |req|
req. = (api_key)
.merge('Content-Type' => 'application/json')
.merge()
machine_ip = @config.machine_ip
machine_name = @config.machine_name
req. = req..merge('SplitSDKMachineIP' => machine_ip) unless machine_ip.empty? || machine_ip == 'unknown'
req. = req..merge('SplitSDKMachineName' => machine_name) unless machine_name.empty? || machine_name == 'unknown'
req.body = data.to_json
req.options[:timeout] = @config.read_timeout
req.options[:open_timeout] = @config.connection_timeout
@config.split_logger.log_if_transport("POST #{url} #{req.body}")
@config.split_logger.log_if_debug("POST #{url}")
end
rescue StandardError => e
@config.logger.warn("#{e}\nURL:#{url}\ndata:#{data}\nparams:#{params}")
raise e, 'Split SDK failed to connect to backend to post information', e.backtrace
end
|