Skip to content

Commit 402bee9

Browse files
committed
add uri encoding for delete subscription call
1 parent 213b0cc commit 402bee9

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/backend/impl/SubscriptionBackendService.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import com.onesignal.user.internal.backend.ISubscriptionBackendService
1212
import com.onesignal.user.internal.backend.SubscriptionObject
1313
import com.onesignal.user.internal.subscriptions.SubscriptionType
1414
import org.json.JSONObject
15+
import java.net.URLEncoder
1516

1617
internal class SubscriptionBackendService(
1718
private val _httpClient: IHttpClient,
@@ -93,7 +94,8 @@ internal class SubscriptionBackendService(
9394
jwt: String?,
9495
) {
9596
val type = subscriptionType.name.lowercase()
96-
val response = _httpClient.delete("apps/$appId/by/type/$type/token/$subscriptionToken/subscriptions", OptionalHeaders(jwt = jwt))
97+
val encodedToken = URLEncoder.encode(subscriptionToken, "UTF-8")
98+
val response = _httpClient.delete("apps/$appId/by/type/$type/token/$encodedToken/subscriptions", OptionalHeaders(jwt = jwt))
9799

98100
if (!response.isSuccess) {
99101
throw BackendException(response.statusCode, response.payload, response.retryAfterSeconds)

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/user/internal/backend/SubscriptionBackendServiceTests.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class SubscriptionBackendServiceTests : FunSpec({
121121
// Then
122122
coVerify {
123123
spyHttpClient.delete(
124-
"apps/appId/by/type/email/token/test@example.com/subscriptions",
124+
"apps/appId/by/type/email/token/test%40example.com/subscriptions",
125125
any(),
126126
)
127127
}
@@ -144,7 +144,7 @@ class SubscriptionBackendServiceTests : FunSpec({
144144
exception.response shouldBe "NOT FOUND"
145145
coVerify {
146146
spyHttpClient.delete(
147-
"apps/appId/by/type/sms/token/+1234567890/subscriptions",
147+
"apps/appId/by/type/sms/token/%2B1234567890/subscriptions",
148148
any(),
149149
)
150150
}

0 commit comments

Comments
 (0)