diff --git a/ext/build.gradle.kts b/ext/build.gradle.kts index cd43613..242fac6 100644 --- a/ext/build.gradle.kts +++ b/ext/build.gradle.kts @@ -20,6 +20,7 @@ kotlin { dependencies { val libVersion: String by project compileOnly("com.github.brahmkshatriya:echo:$libVersion") + compileOnly("com.squareup.okhttp3:okhttp:5.0.0-alpha.14") implementation("org.nanohttpd:nanohttpd:2.3.1") } diff --git a/ext/src/main/java/dev/brahmkshatriya/echo/extension/DeezerApi.kt b/ext/src/main/java/dev/brahmkshatriya/echo/extension/DeezerApi.kt index 9c1879b..495b2fe 100644 --- a/ext/src/main/java/dev/brahmkshatriya/echo/extension/DeezerApi.kt +++ b/ext/src/main/java/dev/brahmkshatriya/echo/extension/DeezerApi.kt @@ -1,6 +1,5 @@ package dev.brahmkshatriya.echo.extension -import dev.brahmkshatriya.echo.common.helpers.ContinuationCallback.Companion.await import dev.brahmkshatriya.echo.common.models.Album import dev.brahmkshatriya.echo.common.models.ImageHolder.Companion.toImageHolder import dev.brahmkshatriya.echo.common.models.Playlist @@ -151,8 +150,6 @@ class DeezerApi(private val session: DeezerSession) { add("Content-Language", language) add("Content-Type", "application/json; charset=utf-8") add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36") - add("X-User-IP", "1.1.1.1") - add("x-deezer-client-ip", "1.1.1.1") if (method != "user.getArl") { add("Cookie", "arl=$arl; sid=$sid") } else { @@ -191,7 +188,7 @@ class DeezerApi(private val session: DeezerSession) { } .build() - val response = client.newCall(request).await() + val response = client.newCall(request).execute() val responseBody = response.body.string() if (!response.isSuccessful) { @@ -284,7 +281,7 @@ class DeezerApi(private val session: DeezerSession) { return BigInteger(1, digest).toString(16).padStart(32, '0') } - private suspend fun getToken(params: Map, sid: String): String { + private fun getToken(params: Map, sid: String): String { val url = "https://connect.deezer.com/oauth/user_auth.php" val httpUrl = url.toHttpUrlOrNull()!!.newBuilder().apply { params.forEach { (key, value) -> addQueryParameter(key, value) } @@ -301,19 +298,20 @@ class DeezerApi(private val session: DeezerSession) { ) .build() - clientLog.newCall(request).await().use { response -> + clientLog.newCall(request).execute().use { response -> if (!response.isSuccessful) throw Exception("Unexpected code $response") return response.body.string() } } - suspend fun getSid() { - val url = "https://www.deezer.com/ajax/gw-light.php?method=user.getArl&input=3&api_version=1.0&api_token=null" + fun getSid() { + val url = "https://www.deezer.com/" val request = Request.Builder() .url(url) .get() .build() - val response = clientLog.newCall(request).await() + + val response = clientLog.newCall(request).execute() response.headers.forEach { if (it.second.startsWith("sid=")) { session.updateCredentials(sid = it.second.substringAfter("sid=").substringBefore(";"))