@@ -149,7 +149,7 @@ public function variation($key, $user, $default = false)
149149
150150 try {
151151 if (is_null ($ user ) || is_null ($ user ->getKey ())) {
152- $ this ->_sendFlagRequestEvent ($ key , $ user , $ default , $ default );
152+ $ this ->_sendFlagRequestEvent ($ key , $ user , null , $ default , $ default );
153153 $ this ->_logger ->warning ("Variation called with null user or null user key! Returning default value " );
154154 return $ default ;
155155 }
@@ -164,7 +164,7 @@ public function variation($key, $user, $default = false)
164164 }
165165
166166 if (is_null ($ flag )) {
167- $ this ->_sendFlagRequestEvent ($ key , $ user , $ default , $ default );
167+ $ this ->_sendFlagRequestEvent ($ key , $ user , null , $ default , $ default );
168168 return $ default ;
169169 }
170170 $ evalResult = $ flag ->evaluate ($ user , $ this ->_featureRequester );
@@ -173,15 +173,15 @@ public function variation($key, $user, $default = false)
173173 $ this ->_eventProcessor ->enqueue ($ e );
174174 }
175175 }
176- if ($ evalResult ->getValue () !== null ) {
177- $ this ->_sendFlagRequestEvent ($ key , $ user , $ evalResult ->getValue (), $ default , $ flag ->getVersion ());
176+ if ($ evalResult !== null && $ evalResult ->getValue () !== null ) {
177+ $ this ->_sendFlagRequestEvent ($ key , $ user , $ evalResult ->getVariation (), $ evalResult -> getValue (), $ default , $ flag ->getVersion ());
178178 return $ evalResult ->getValue ();
179179 }
180180 } catch (\Exception $ e ) {
181181 $ this ->_logger ->error ("Caught $ e " );
182182 }
183183 try {
184- $ this ->_sendFlagRequestEvent ($ key , $ user , $ default , $ default );
184+ $ this ->_sendFlagRequestEvent ($ key , $ user , null , $ default , $ default );
185185 } catch (\Exception $ e ) {
186186 $ this ->_logger ->error ("Caught $ e " );
187187 }
@@ -326,17 +326,18 @@ public function flush()
326326 /**
327327 * @param $key string
328328 * @param $user LDUser
329+ * @param $variation int | null
329330 * @param $value mixed
330331 * @param $default
331332 * @param $version int | null
332333 * @param string | null $prereqOf
333334 */
334- protected function _sendFlagRequestEvent ($ key , $ user , $ value , $ default , $ version = null , $ prereqOf = null )
335+ protected function _sendFlagRequestEvent ($ key , $ user , $ variation , $ value , $ default , $ version = null , $ prereqOf = null )
335336 {
336337 if ($ this ->isOffline () || !$ this ->_send_events ) {
337338 return ;
338339 }
339- $ this ->_eventProcessor ->enqueue (Util::newFeatureRequestEvent ($ key , $ user , $ value , $ default , $ version , $ prereqOf ));
340+ $ this ->_eventProcessor ->enqueue (Util::newFeatureRequestEvent ($ key , $ user , $ variation , $ value , $ default , $ version , $ prereqOf ));
340341 }
341342
342343 protected function _get_default ($ key , $ default )
0 commit comments