From deffdc86fdeee9474ba16a1afa09ab66c364c3e8 Mon Sep 17 00:00:00 2001 From: Alex Bilevskiy Date: Mon, 5 Dec 2022 23:14:10 +0300 Subject: [PATCH 1/2] use custom user-agent in websocket requests --- .../common/data/websocket/impl/WebSocketRepositoryImpl.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt b/common/src/main/java/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt index 3cf79cffdc4..e495efd4ac5 100644 --- a/common/src/main/java/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt +++ b/common/src/main/java/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt @@ -372,7 +372,7 @@ class WebSocketRepositoryImpl @Inject constructor( try { connection = okHttpClient.newWebSocket( - Request.Builder().url(urlString).build(), + Request.Builder().url(urlString).header(USER_AGENT, USER_AGENT_STRING).build(), this ).also { // Preemptively send auth From 6b333122538fae3dcac4f307b08a957b417c20ac Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 6 Dec 2022 09:08:30 +0300 Subject: [PATCH 2/2] expose USER_AGENT const; fix imports in WebSocketRepositoryImpl.kt --- .../companion/android/common/data/HomeAssistantApis.kt | 2 +- .../common/data/websocket/impl/WebSocketRepositoryImpl.kt | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/io/homeassistant/companion/android/common/data/HomeAssistantApis.kt b/common/src/main/java/io/homeassistant/companion/android/common/data/HomeAssistantApis.kt index 4ffca9d8675..c701bf390ca 100644 --- a/common/src/main/java/io/homeassistant/companion/android/common/data/HomeAssistantApis.kt +++ b/common/src/main/java/io/homeassistant/companion/android/common/data/HomeAssistantApis.kt @@ -21,7 +21,7 @@ class HomeAssistantApis @Inject constructor( ) { companion object { private const val LOCAL_HOST = "http://localhost/" - private const val USER_AGENT = "User-Agent" + const val USER_AGENT = "User-Agent" val USER_AGENT_STRING = "Home Assistant/${BuildConfig.VERSION_NAME} (Android ${Build.VERSION.RELEASE}; ${Build.MODEL})" private val CALL_TIMEOUT = 30L diff --git a/common/src/main/java/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt b/common/src/main/java/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt index e495efd4ac5..19fe2985a50 100644 --- a/common/src/main/java/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt +++ b/common/src/main/java/io/homeassistant/companion/android/common/data/websocket/impl/WebSocketRepositoryImpl.kt @@ -9,6 +9,8 @@ import com.fasterxml.jackson.module.kotlin.convertValue import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.readValue import io.homeassistant.companion.android.common.BuildConfig +import io.homeassistant.companion.android.common.data.HomeAssistantApis.Companion.USER_AGENT +import io.homeassistant.companion.android.common.data.HomeAssistantApis.Companion.USER_AGENT_STRING import io.homeassistant.companion.android.common.data.HomeAssistantVersion import io.homeassistant.companion.android.common.data.authentication.AuthenticationRepository import io.homeassistant.companion.android.common.data.authentication.AuthorizationException