splitclient-rb 7.0.1.pre.rc3-java → 7.0.1.pre.rc4-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.txt +4 -1
- data/lib/splitclient-rb/engine/api/client.rb +3 -11
- data/lib/splitclient-rb/engine/api/events.rb +1 -4
- data/lib/splitclient-rb/engine/api/impressions.rb +1 -1
- data/lib/splitclient-rb/split_config.rb +49 -11
- data/lib/splitclient-rb/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d7fb0aac1322c96814f636b8b14ab290e360387
|
4
|
+
data.tar.gz: bc03504719ee0679e6574cab51afd87ea595375e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20b148bdaf3420f5958d0056e6ffd5c07bdb32afdf7e47161f524b46b5cac4865bc960b752d31b05fbbb2ef05e7a17ca1e754b1b2ef38d49af1840ef91fbc673
|
7
|
+
data.tar.gz: 41096dd760d13ec1be83418bd6e00ded008cfbf18dda533f182683544d8d2aae92eef3fbf558ebc4fb12e6d043b83ec5327654bc3d6aed2aef88042134dfdd26
|
data/CHANGES.txt
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
7.0.1 (
|
1
|
+
7.0.1 (Oct 25, 2019)
|
2
2
|
- Updated localhost mode so that parsing of test files results in JSON data for splits analogous to that returned by the Split backend.
|
3
3
|
- Resulting localhost data is now used indifferently from actual backend data by the SDK code.
|
4
4
|
- Removed specific spare code dealing with localhost operations.
|
5
|
+
- Removed the disable_impressions configuration param.
|
6
|
+
- Fixed an issue about Event properties were not sent to be.
|
7
|
+
- Added ip_addresses_enabled to enable/disable sending MachineName and MachineIP headers when data is posted to Split Servers.
|
5
8
|
|
6
9
|
7.0.0 (Aug 23, 2019)
|
7
10
|
- BREAKING CHANGE: block_until_ready is now a method in both split_client and split_manager that needs to be explicitly called. The block_until_ready parameter is now ignored if passed in the configuration, and defaults to 15s unless passed as a parameter of the block_until_ready method.
|
@@ -30,6 +30,9 @@ module SplitIoClient
|
|
30
30
|
req.headers = common_headers(api_key)
|
31
31
|
.merge('Content-Type' => 'application/json')
|
32
32
|
.merge(headers)
|
33
|
+
|
34
|
+
req.headers = req.headers.merge('SplitSDKMachineIP' => @config.machine_ip) unless @config.machine_ip.empty?
|
35
|
+
req.headers = req.headers.merge('SplitSDKMachineName' => @config.machine_name) unless @config.machine_name.empty?
|
33
36
|
|
34
37
|
req.body = data.to_json
|
35
38
|
|
@@ -78,19 +81,8 @@ module SplitIoClient
|
|
78
81
|
{
|
79
82
|
'Authorization' => "Bearer #{api_key}",
|
80
83
|
'SplitSDKVersion' => "#{@config.language}-#{@config.version}",
|
81
|
-
'SplitSDKMachineName' => @config.machine_name,
|
82
|
-
'SplitSDKMachineIP' => @config.machine_ip,
|
83
|
-
'Referer' => referer
|
84
84
|
}
|
85
85
|
end
|
86
|
-
|
87
|
-
def referer
|
88
|
-
result = "#{@config.language}-#{@config.version}"
|
89
|
-
|
90
|
-
result = "#{result}::#{SplitIoClient::SplitConfig.machine_hostname}" unless SplitIoClient::SplitConfig.machine_hostname == 'localhost'
|
91
|
-
|
92
|
-
result
|
93
|
-
end
|
94
86
|
end
|
95
87
|
end
|
96
88
|
end
|
@@ -18,10 +18,7 @@ module SplitIoClient
|
|
18
18
|
response = post_api(
|
19
19
|
"#{@config.events_uri}/events/bulk",
|
20
20
|
@api_key,
|
21
|
-
events_slice.map { |event| formatted_event(event[:e]) }
|
22
|
-
'SplitSDKMachineIP' => events_slice[0][:m][:i],
|
23
|
-
'SplitSDKMachineName' => events_slice[0][:m][:n],
|
24
|
-
'SplitSDKVersion' => events_slice[0][:m][:s]
|
21
|
+
events_slice.map { |event| formatted_event(event[:e]) }
|
25
22
|
)
|
26
23
|
|
27
24
|
if response.success?
|
@@ -15,7 +15,7 @@ module SplitIoClient
|
|
15
15
|
end
|
16
16
|
|
17
17
|
impressions_by_ip(impressions).each do |ip, impressions_ip|
|
18
|
-
response = post_api("#{@config.events_uri}/testImpressions/bulk", @api_key, impressions_ip
|
18
|
+
response = post_api("#{@config.events_uri}/testImpressions/bulk", @api_key, impressions_ip)
|
19
19
|
|
20
20
|
if response.success?
|
21
21
|
@config.split_logger.log_if_debug("Impressions reported: #{total_impressions(impressions)}")
|
@@ -69,8 +69,10 @@ module SplitIoClient
|
|
69
69
|
@transport_debug_enabled = opts[:transport_debug_enabled] || SplitConfig.default_debug
|
70
70
|
@block_until_ready = SplitConfig.default_block_until_ready
|
71
71
|
|
72
|
-
@
|
73
|
-
|
72
|
+
@ip_addresses_enabled = opts[:ip_addresses_enabled].nil? ? SplitConfig.default_ip_addresses_enabled : opts[:ip_addresses_enabled]
|
73
|
+
|
74
|
+
@machine_name = SplitConfig.machine_hostname(@ip_addresses_enabled, opts[:machine_name], opts[:cache_adapter] || SplitConfig.default_cache_adapter)
|
75
|
+
@machine_ip = SplitConfig.machine_ip(@ip_addresses_enabled, opts[:machine_ip], opts[:cache_adapter] || SplitConfig.default_cache_adapter)
|
74
76
|
|
75
77
|
@cache_ttl = opts[:cache_ttl] || SplitConfig.cache_ttl
|
76
78
|
@max_cache_size = opts[:max_cache_size] || SplitConfig.max_cache_size
|
@@ -251,6 +253,8 @@ module SplitIoClient
|
|
251
253
|
|
252
254
|
attr_accessor :localhost_mode
|
253
255
|
|
256
|
+
attr_accessor :ip_addresses_enabled
|
257
|
+
|
254
258
|
#
|
255
259
|
# The default split client configuration
|
256
260
|
#
|
@@ -412,6 +416,14 @@ module SplitIoClient
|
|
412
416
|
15
|
413
417
|
end
|
414
418
|
|
419
|
+
#
|
420
|
+
# The default ip addresses enabled value
|
421
|
+
#
|
422
|
+
# @return [boolean]
|
423
|
+
def self.default_ip_addresses_enabled
|
424
|
+
true
|
425
|
+
end
|
426
|
+
|
415
427
|
#
|
416
428
|
# The default transport_debug_enabled value
|
417
429
|
#
|
@@ -478,23 +490,49 @@ module SplitIoClient
|
|
478
490
|
# gets the hostname where the sdk gem is running
|
479
491
|
#
|
480
492
|
# @return [string]
|
481
|
-
def self.machine_hostname
|
482
|
-
|
483
|
-
|
484
|
-
|
493
|
+
def self.machine_hostname(ip_addresses_enabled, machine_name, adapter)
|
494
|
+
if ip_addresses_enabled
|
495
|
+
begin
|
496
|
+
return machine_name || Socket.gethostname
|
497
|
+
rescue
|
498
|
+
return 'unknown'.freeze
|
499
|
+
end
|
500
|
+
else
|
501
|
+
case adapter
|
502
|
+
when :redis
|
503
|
+
return 'NA'.freeze
|
504
|
+
end
|
505
|
+
end
|
506
|
+
|
507
|
+
return ''.freeze
|
485
508
|
end
|
486
509
|
|
487
510
|
#
|
488
511
|
# gets the ip where the sdk gem is running
|
489
512
|
#
|
490
513
|
# @return [string]
|
491
|
-
def self.machine_ip
|
492
|
-
|
493
|
-
|
514
|
+
def self.machine_ip(ip_addresses_enabled, machine_ip, adapter)
|
515
|
+
if ip_addresses_enabled
|
516
|
+
begin
|
517
|
+
return machine_ip unless machine_ip.blank?
|
518
|
+
|
519
|
+
loopback_ip = Socket.ip_address_list.find { |ip| ip.ipv4_loopback? }
|
520
|
+
private_ip = Socket.ip_address_list.find { |ip| ip.ipv4_private? }
|
494
521
|
|
495
|
-
|
522
|
+
addr_info = private_ip || loopback_ip
|
523
|
+
|
524
|
+
return addr_info.ip_address
|
525
|
+
rescue
|
526
|
+
return 'unknown'.freeze
|
527
|
+
end
|
528
|
+
else
|
529
|
+
case adapter
|
530
|
+
when :redis
|
531
|
+
return 'NA'.freeze
|
532
|
+
end
|
533
|
+
end
|
496
534
|
|
497
|
-
|
535
|
+
return ''.freeze
|
498
536
|
end
|
499
537
|
end
|
500
538
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: splitclient-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0.1.pre.
|
4
|
+
version: 7.0.1.pre.rc4
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Split Software
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|