launchdarkly-server-sdk 8.2.0 → 8.3.1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2582d6e0bd754b6fbb46d591713cb9b6d3784ae991a498dfa0f810aa079c491e
|
4
|
+
data.tar.gz: 68c0369beb8e2bd6f3a865129591a392511a82f85b22fda5b8a8c3c7161f4fa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0516d7e11b48b9d582878270ff533138b73f9fdfb8d89a9dc6470c0aeff8d71a9139d5e7b77a4b5eb0e7c6083c33446ecdf9d57b394cfb650ac53426fee2cd06
|
7
|
+
data.tar.gz: 71f2eb165af4d1ef812f1360f326b2dfefe6be266c4d476737943661a3c2534f7f275bb02245e4718c653aaa2df3e07675af3a3e3ca1f451cfb045d2bac506c8
|
data/lib/ldclient-rb/config.rb
CHANGED
@@ -458,7 +458,7 @@ module LaunchDarkly
|
|
458
458
|
# @return [Logger] the Rails logger if in Rails, or a default Logger at WARN level otherwise
|
459
459
|
#
|
460
460
|
def self.default_logger
|
461
|
-
if defined?(Rails) && Rails.respond_to?(:logger)
|
461
|
+
if defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger
|
462
462
|
Rails.logger
|
463
463
|
else
|
464
464
|
log = ::Logger.new($stdout)
|
data/lib/ldclient-rb/events.rb
CHANGED
@@ -481,12 +481,14 @@ module LaunchDarkly
|
|
481
481
|
key: event.key,
|
482
482
|
value: event.value,
|
483
483
|
}
|
484
|
+
|
484
485
|
out[:default] = event.default unless event.default.nil?
|
485
486
|
out[:variation] = event.variation unless event.variation.nil?
|
486
487
|
out[:version] = event.version unless event.version.nil?
|
487
488
|
out[:prereqOf] = event.prereq_of unless event.prereq_of.nil?
|
488
|
-
out[:
|
489
|
+
out[:context] = @context_filter.filter_redact_anonymous(event.context)
|
489
490
|
out[:reason] = event.reason unless event.reason.nil?
|
491
|
+
|
490
492
|
out
|
491
493
|
|
492
494
|
when LaunchDarkly::Impl::MigrationOpEvent
|
@@ -23,14 +23,32 @@ module LaunchDarkly
|
|
23
23
|
# @return [Hash]
|
24
24
|
#
|
25
25
|
def filter(context)
|
26
|
-
|
26
|
+
internal_filter(context, false)
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# Return a hash representation of the provided context with attribute
|
31
|
+
# redaction applied.
|
32
|
+
#
|
33
|
+
# If a context is anonyomous, all attributes will be redacted except
|
34
|
+
# for key, kind, and anonymous.
|
35
|
+
#
|
36
|
+
# @param context [LaunchDarkly::LDContext]
|
37
|
+
# @return [Hash]
|
38
|
+
#
|
39
|
+
def filter_redact_anonymous(context)
|
40
|
+
internal_filter(context, true)
|
41
|
+
end
|
42
|
+
|
43
|
+
private def internal_filter(context, redact_anonymous)
|
44
|
+
return filter_single_context(context, true, redact_anonymous) unless context.multi_kind?
|
27
45
|
|
28
46
|
filtered = {kind: 'multi'}
|
29
47
|
(0...context.individual_context_count).each do |i|
|
30
48
|
c = context.individual_context(i)
|
31
49
|
next if c.nil?
|
32
50
|
|
33
|
-
filtered[c.kind] = filter_single_context(c, false)
|
51
|
+
filtered[c.kind] = filter_single_context(c, false, redact_anonymous)
|
34
52
|
end
|
35
53
|
|
36
54
|
filtered
|
@@ -43,22 +61,24 @@ module LaunchDarkly
|
|
43
61
|
# @param include_kind [Boolean]
|
44
62
|
# @return [Hash]
|
45
63
|
#
|
46
|
-
private def filter_single_context(context, include_kind)
|
64
|
+
private def filter_single_context(context, include_kind, redact_anonymous)
|
47
65
|
filtered = {key: context.key}
|
48
66
|
|
49
67
|
filtered[:kind] = context.kind if include_kind
|
50
|
-
|
68
|
+
|
69
|
+
anonymous = context.get_value(:anonymous)
|
70
|
+
filtered[:anonymous] = true if anonymous
|
51
71
|
|
52
72
|
redacted = []
|
53
73
|
private_attributes = @private_attributes.concat(context.private_attributes)
|
54
74
|
|
55
75
|
name = context.get_value(:name)
|
56
|
-
if !name.nil? && !check_whole_attribute_private(:name, private_attributes, redacted)
|
76
|
+
if !name.nil? && !check_whole_attribute_private(:name, private_attributes, redacted, anonymous && redact_anonymous)
|
57
77
|
filtered[:name] = name
|
58
78
|
end
|
59
79
|
|
60
80
|
context.get_custom_attribute_names.each do |attribute|
|
61
|
-
unless check_whole_attribute_private(attribute, private_attributes, redacted)
|
81
|
+
unless check_whole_attribute_private(attribute, private_attributes, redacted, anonymous && redact_anonymous)
|
62
82
|
value = context.get_value(attribute)
|
63
83
|
filtered[attribute] = redact_json_value(nil, attribute, value, private_attributes, redacted)
|
64
84
|
end
|
@@ -75,10 +95,11 @@ module LaunchDarkly
|
|
75
95
|
# @param attribute [Symbol]
|
76
96
|
# @param private_attributes [Array<Reference>]
|
77
97
|
# @param redacted [Array<Symbol>]
|
98
|
+
# @param redact_all [Boolean]
|
78
99
|
# @return [Boolean]
|
79
100
|
#
|
80
|
-
private def check_whole_attribute_private(attribute, private_attributes, redacted)
|
81
|
-
if @all_attributes_private
|
101
|
+
private def check_whole_attribute_private(attribute, private_attributes, redacted, redact_all)
|
102
|
+
if @all_attributes_private || redact_all
|
82
103
|
redacted << attribute
|
83
104
|
return true
|
84
105
|
end
|
@@ -37,7 +37,7 @@ module LaunchDarkly
|
|
37
37
|
@off_variation = data[:offVariation]
|
38
38
|
check_variation_range(self, errors, @off_variation, "off variation")
|
39
39
|
@prerequisites = (data[:prerequisites] || []).map do |prereq_data|
|
40
|
-
Prerequisite.new(prereq_data, self
|
40
|
+
Prerequisite.new(prereq_data, self)
|
41
41
|
end
|
42
42
|
@targets = (data[:targets] || []).map do |target_data|
|
43
43
|
Target.new(target_data, self, errors)
|
@@ -118,13 +118,12 @@ module LaunchDarkly
|
|
118
118
|
end
|
119
119
|
|
120
120
|
class Prerequisite
|
121
|
-
def initialize(data, flag
|
121
|
+
def initialize(data, flag)
|
122
122
|
@data = data
|
123
123
|
@key = data[:key]
|
124
124
|
@variation = data[:variation]
|
125
125
|
@failure_result = EvaluatorHelpers.evaluation_detail_for_off_variation(flag,
|
126
126
|
EvaluationReason::prerequisite_failed(@key))
|
127
|
-
check_variation_range(flag, errors_out, @variation, "prerequisite")
|
128
127
|
end
|
129
128
|
|
130
129
|
# @return [Hash]
|
data/lib/ldclient-rb/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: launchdarkly-server-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LaunchDarkly
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-dynamodb
|