diff --git a/core/src/main/java/com/segment/analytics/kotlin/core/HTTPClient.kt b/core/src/main/java/com/segment/analytics/kotlin/core/HTTPClient.kt index c9e21772..f3d25a15 100644 --- a/core/src/main/java/com/segment/analytics/kotlin/core/HTTPClient.kt +++ b/core/src/main/java/com/segment/analytics/kotlin/core/HTTPClient.kt @@ -1,7 +1,6 @@ package com.segment.analytics.kotlin.core import com.segment.analytics.kotlin.core.Constants.LIBRARY_VERSION -import com.segment.analytics.kotlin.core.utilities.encodeToBase64 import java.io.BufferedReader import java.io.Closeable import java.io.IOException @@ -12,7 +11,6 @@ import java.net.MalformedURLException import java.net.URL import java.util.zip.GZIPOutputStream class HTTPClient(private val writeKey: String) { - internal val authHeader = authorizationHeader(writeKey) fun settings(cdnHost: String): Connection { val connection: HttpURLConnection = @@ -29,7 +27,6 @@ class HTTPClient(private val writeKey: String) { fun upload(apiHost: String): Connection { val connection: HttpURLConnection = openConnection("https://$apiHost/b") connection.setRequestProperty("Content-Type", "text/plain") - connection.setRequestProperty("Authorization", authHeader) connection.doOutput = true connection.setChunkedStreamingMode(0) return connection.createPostConnection() @@ -56,11 +53,6 @@ class HTTPClient(private val writeKey: String) { connection.doInput = true return connection } - - private fun authorizationHeader(writeKey: String): String { - val auth = "$writeKey:" - return "Basic ${encodeToBase64(auth)}" - } } /** diff --git a/core/src/main/java/com/segment/analytics/kotlin/core/platform/plugins/ContextPlugin.kt b/core/src/main/java/com/segment/analytics/kotlin/core/platform/plugins/ContextPlugin.kt index add23abf..d7e7d1d8 100644 --- a/core/src/main/java/com/segment/analytics/kotlin/core/platform/plugins/ContextPlugin.kt +++ b/core/src/main/java/com/segment/analytics/kotlin/core/platform/plugins/ContextPlugin.kt @@ -8,6 +8,7 @@ import com.segment.analytics.kotlin.core.utilities.putAll import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.buildJsonObject import kotlinx.serialization.json.put +import java.util.* /** * Analytics plugin used to populate events with basic context data. @@ -18,12 +19,14 @@ class ContextPlugin : Plugin { override lateinit var analytics: Analytics private lateinit var library: JsonObject + private val instanceId = UUID.randomUUID().toString() companion object { // Library const val LIBRARY_KEY = "library" const val LIBRARY_NAME_KEY = "name" const val LIBRARY_VERSION_KEY = "version" + const val INSTANCE_ID_KEY = "instanceId" } override fun setup(analytics: Analytics) { @@ -41,6 +44,7 @@ class ContextPlugin : Plugin { // putLibrary put(LIBRARY_KEY, library) + put(INSTANCE_ID_KEY, instanceId) } event.context = newContext } diff --git a/core/src/test/kotlin/com/segment/analytics/kotlin/core/AnalyticsTests.kt b/core/src/test/kotlin/com/segment/analytics/kotlin/core/AnalyticsTests.kt index ec02d85e..7ea3556c 100644 --- a/core/src/test/kotlin/com/segment/analytics/kotlin/core/AnalyticsTests.kt +++ b/core/src/test/kotlin/com/segment/analytics/kotlin/core/AnalyticsTests.kt @@ -47,6 +47,7 @@ class AnalyticsTests { put(ContextPlugin.LIBRARY_VERSION_KEY, Constants.LIBRARY_VERSION) } put(ContextPlugin.LIBRARY_KEY, lib) + put(ContextPlugin.INSTANCE_ID_KEY, "qwerty-qwerty-123") } private val testDispatcher = UnconfinedTestDispatcher() diff --git a/core/src/test/kotlin/com/segment/analytics/kotlin/core/HTTPClientTests.kt b/core/src/test/kotlin/com/segment/analytics/kotlin/core/HTTPClientTests.kt index 4f33f1a6..c5ee104a 100644 --- a/core/src/test/kotlin/com/segment/analytics/kotlin/core/HTTPClientTests.kt +++ b/core/src/test/kotlin/com/segment/analytics/kotlin/core/HTTPClientTests.kt @@ -80,9 +80,4 @@ class HTTPClientTests { } } - @Test - fun `authHeader is correctly computed`() { - assertEquals("Basic MXZOZ1Vxd0plQ0htcWdJOVMxc09tOVVIQ3lmWXFiYVE6", httpClient.authHeader) - } - } \ No newline at end of file diff --git a/core/src/test/kotlin/com/segment/analytics/kotlin/core/compat/JavaAnalyticsTest.kt b/core/src/test/kotlin/com/segment/analytics/kotlin/core/compat/JavaAnalyticsTest.kt index 6aa5e658..4f655141 100644 --- a/core/src/test/kotlin/com/segment/analytics/kotlin/core/compat/JavaAnalyticsTest.kt +++ b/core/src/test/kotlin/com/segment/analytics/kotlin/core/compat/JavaAnalyticsTest.kt @@ -53,6 +53,7 @@ internal class JavaAnalyticsTest { put(ContextPlugin.LIBRARY_VERSION_KEY, Constants.LIBRARY_VERSION) } put(ContextPlugin.LIBRARY_KEY, lib) + put(ContextPlugin.INSTANCE_ID_KEY, "qwerty-qwerty-123") } private val testDispatcher = UnconfinedTestDispatcher()