@@ -2,9 +2,7 @@ package com.segment.analytics.kotlin.core
2
2
3
3
import com.segment.analytics.kotlin.core.platform.DestinationPlugin
4
4
import com.segment.analytics.kotlin.core.platform.Plugin
5
- import com.segment.analytics.kotlin.core.platform.plugins.logger.LogKind
6
5
import com.segment.analytics.kotlin.core.platform.plugins.logger.log
7
- import com.segment.analytics.kotlin.core.platform.plugins.logger.segmentLog
8
6
import com.segment.analytics.kotlin.core.utilities.LenientJson
9
7
import com.segment.analytics.kotlin.core.utilities.safeJsonObject
10
8
import kotlinx.coroutines.launch
@@ -15,6 +13,7 @@ import kotlinx.serialization.json.Json
15
13
import kotlinx.serialization.json.JsonObject
16
14
import kotlinx.serialization.serializer
17
15
import java.io.BufferedReader
16
+ import java.net.URL
18
17
19
18
@Serializable
20
19
data class Settings (
@@ -109,17 +108,22 @@ internal fun Analytics.fetchSettings(
109
108
writeKey : String ,
110
109
cdnHost : String
111
110
): Settings ? = try {
112
- val connection = HTTPClient (writeKey, this .configuration.requestFactory).settings(cdnHost)
113
- val settingsString =
114
- connection.inputStream?.bufferedReader()?.use(BufferedReader ::readText) ? : " "
115
- log(" Fetched Settings: $settingsString " )
116
- LenientJson .decodeFromString(settingsString)
117
- } catch (ex: Exception ) {
118
- reportErrorWithMetrics(this , AnalyticsError .SettingsFetchError (ex.message, ex), " Failed to fetch settings" ,
119
- Telemetry .INVOKE_ERROR_METRIC , ex.stackTraceToString()) {
120
- it[" error" ] = ex.toString()
121
- it[" writekey" ] = writeKey
122
- it[" message" ] = " Error retrieving settings"
123
- }
124
- configuration.defaultSettings
125
- }
111
+ val connection = HTTPClient (writeKey, this .configuration.requestFactory).settings(cdnHost)
112
+ val settingsString =
113
+ connection.inputStream?.bufferedReader()?.use(BufferedReader ::readText) ? : " "
114
+ log(" Fetched Settings: $settingsString " )
115
+ LenientJson .decodeFromString(settingsString)
116
+ } catch (ex: Exception ) {
117
+ reportErrorWithMetrics(
118
+ this ,
119
+ AnalyticsError .SettingsFail (AnalyticsError .NetworkUnknown (URL (" https://$cdnHost /projects/$writeKey /settings" ), ex)),
120
+ " Failed to fetch settings" ,
121
+ Telemetry .INVOKE_ERROR_METRIC ,
122
+ ex.stackTraceToString()
123
+ ) {
124
+ it[" error" ] = ex.toString()
125
+ it[" writekey" ] = writeKey
126
+ it[" message" ] = " Error retrieving settings"
127
+ }
128
+ configuration.defaultSettings
129
+ }
0 commit comments