2323
2424class CfClient (object ):
2525 def __init__ (
26- self , sdk_key : str , * options : Callable , config : Optional [Config ] = None
26+ self , sdk_key : str ,
27+ * options : Callable ,
28+ config : Optional [Config ] = None
2729 ):
2830 self ._client : Optional [Client ] = None
2931 self ._auth_token : Optional [str ] = None
@@ -97,7 +99,7 @@ def authenticate(self):
9799 self ._auth_token = response .auth_token
98100
99101 decoded = decode (self ._auth_token , options = {
100- "verify_signature" : False })
102+ "verify_signature" : False })
101103 self ._environment_id = decoded ["environment" ]
102104 self ._cluster = decoded ["clusterIdentifier" ]
103105 if not self ._cluster :
@@ -115,33 +117,38 @@ def authenticate(self):
115117 def bool_variation (self , identifier : str , target : Target ,
116118 default : bool ) -> bool :
117119 variation = self ._evaluator .evaluate (identifier , target )
118- self ._analytics .enqueue (target , identifier , variation )
120+ if self ._config .enable_analytics :
121+ self ._analytics .enqueue (target , identifier , variation )
119122 return variation .bool (default )
120123
121124 def int_variation (self , identifier : str , target : Target ,
122125 default : int ) -> int :
123126 variation = self ._evaluator .evaluate (identifier , target )
124- self ._analytics .enqueue (target , identifier , variation )
127+ if self ._config .enable_analytics :
128+ self ._analytics .enqueue (target , identifier , variation )
125129 return variation .int (default )
126130
127131 def number_variation (self , identifier : str , target : Target ,
128132 default : float ) -> float :
129133 variation = self ._evaluator .evaluate (
130134 identifier , target )
131- self ._analytics .enqueue (target , identifier , variation )
135+ if self ._config .enable_analytics :
136+ self ._analytics .enqueue (target , identifier , variation )
132137 return variation .number (default )
133138
134139 def string_variation (self , identifier : str , target : Target ,
135140 default : str ) -> str :
136141 variation = self ._evaluator .evaluate (
137142 identifier , target )
138- self ._analytics .enqueue (target , identifier , variation )
143+ if self ._config .enable_analytics :
144+ self ._analytics .enqueue (target , identifier , variation )
139145 return variation .string (default )
140146
141147 def json_variation (self , identifier : str , target : Target ,
142148 default : Dict [str , Any ]) -> Dict [str , Any ]:
143149 variation = self ._evaluator .evaluate (identifier , target )
144- self ._analytics .enqueue (target , identifier , variation )
150+ if self ._config .enable_analytics :
151+ self ._analytics .enqueue (target , identifier , variation )
145152 return variation .json (default )
146153
147154 def close (self ):
0 commit comments