@@ -27,7 +27,7 @@ private const val MS_IN_S: Long = 1000
27
27
internal class StatsigNetwork (
28
28
private val sdkKey : String ,
29
29
private val options : StatsigOptions ,
30
- private val statsigMetadata : Map < String , String > ,
30
+ private val statsigMetadata : StatsigMetadata ,
31
31
private val errorBoundary : ErrorBoundary ,
32
32
private val backoffMultiplier : Int = BACKOFF_MULTIPLIER ,
33
33
) {
@@ -60,8 +60,8 @@ internal class StatsigNetwork(
60
60
.addHeader(" STATSIG-API-KEY" , sdkKey)
61
61
.addHeader(" STATSIG-CLIENT-TIME" , System .currentTimeMillis().toString())
62
62
.addHeader(" STATSIG-SERVER-SESSION-ID" , serverSessionID)
63
- .addHeader(" STATSIG-SDK-TYPE" , statsigMetadata[ " sdkType" ] ? : " " )
64
- .addHeader(" STATSIG-SDK-VERSION" , statsigMetadata[ " sdkVersion" ] ? : " " )
63
+ .addHeader(" STATSIG-SDK-TYPE" , statsigMetadata. sdkType)
64
+ .addHeader(" STATSIG-SDK-VERSION" , statsigMetadata. sdkVersion)
65
65
.method(original.method, original.body)
66
66
.build()
67
67
it.proceed(request)
@@ -91,12 +91,12 @@ internal class StatsigNetwork(
91
91
}
92
92
93
93
suspend fun checkGate (user : StatsigUser ? , gateName : String , disableExposureLogging : Boolean ): ConfigEvaluation {
94
- val exposureLoggingMap = mapOf ( " exposureLoggingDisabled " to disableExposureLogging)
94
+ statsigMetadata.exposureLoggingDisabled = disableExposureLogging
95
95
val bodyJson = gson.toJson(
96
96
mapOf (
97
97
" gateName" to gateName,
98
98
" user" to user,
99
- " statsigMetadata" to statsigMetadata + exposureLoggingMap ,
99
+ " statsigMetadata" to statsigMetadata,
100
100
),
101
101
)
102
102
val requestBody: RequestBody = bodyJson.toRequestBody(json)
@@ -117,14 +117,15 @@ internal class StatsigNetwork(
117
117
}
118
118
119
119
suspend fun getConfig (user : StatsigUser ? , configName : String , disableExposureLogging : Boolean ): ConfigEvaluation {
120
- val exposureLoggingMap = mapOf ( " exposureLoggingDisabled " to disableExposureLogging)
120
+ statsigMetadata.exposureLoggingDisabled = disableExposureLogging
121
121
val bodyJson = gson.toJson(
122
122
mapOf (
123
123
" configName" to configName,
124
124
" user" to user,
125
- " statsigMetadata" to statsigMetadata + exposureLoggingMap ,
125
+ " statsigMetadata" to statsigMetadata,
126
126
),
127
127
)
128
+ statsigMetadata.exposureLoggingDisabled = null
128
129
val requestBody: RequestBody = bodyJson.toRequestBody(json)
129
130
130
131
val request: Request = Request .Builder ()
@@ -196,13 +197,13 @@ internal class StatsigNetwork(
196
197
}
197
198
}
198
199
199
- suspend fun postLogs (events : List <StatsigEvent >, statsigMetadata : Map < String , String > ) {
200
+ suspend fun postLogs (events : List <StatsigEvent >, statsigMetadata : StatsigMetadata ) {
200
201
retryPostLogs(events, statsigMetadata, 5 , 1 )
201
202
}
202
203
203
204
suspend fun retryPostLogs (
204
205
events : List <StatsigEvent >,
205
- statsigMetadata : Map < String , String > ,
206
+ statsigMetadata : StatsigMetadata ,
206
207
retries : Int ,
207
208
backoff : Int ,
208
209
) {
0 commit comments