@@ -155,20 +155,33 @@ func (g *GoFeatureFlag) AllFlagsState(user ffuser.User) flagstate.AllFlags {
155
155
156
156
allFlags := flagstate .NewAllFlags ()
157
157
for key , currentFlag := range flags {
158
- flagValue , varType := currentFlag .Value (key , user , flag.EvaluationContext {
158
+ flagValue , resolutionDetails := currentFlag .Value (key , user , flag.EvaluationContext {
159
159
Environment : g .config .Environment ,
160
160
DefaultSdkValue : nil ,
161
161
})
162
+
163
+ // if the flag is disabled we are ignoring it.
164
+ if resolutionDetails .Reason == flag .ReasonDisabled {
165
+ allFlags .AddFlag (key , flagstate.FlagState {
166
+ Timestamp : time .Now ().Unix (),
167
+ TrackEvents : currentFlag .GetTrackEvents (),
168
+ Failed : resolutionDetails .ErrorCode != "" ,
169
+ ErrorCode : resolutionDetails .ErrorCode ,
170
+ Reason : resolutionDetails .Reason ,
171
+ })
172
+ continue
173
+ }
174
+
162
175
switch v := flagValue ; v .(type ) {
163
176
case int , float64 , bool , string , []interface {}, map [string ]interface {}:
164
177
allFlags .AddFlag (key , flagstate.FlagState {
165
178
Value : v ,
166
179
Timestamp : time .Now ().Unix (),
167
- VariationType : varType .Variant ,
180
+ VariationType : resolutionDetails .Variant ,
168
181
TrackEvents : currentFlag .GetTrackEvents (),
169
- Failed : varType .ErrorCode != "" ,
170
- ErrorCode : varType .ErrorCode ,
171
- Reason : varType .Reason ,
182
+ Failed : resolutionDetails .ErrorCode != "" ,
183
+ ErrorCode : resolutionDetails .ErrorCode ,
184
+ Reason : resolutionDetails .Reason ,
172
185
})
173
186
174
187
default :
0 commit comments