Skip to content

Commit 67386ac

Browse files
committed
ECWID-144513 startersite error Caused by IllegalStateException: Expected but was STRING at line column path at JsonReader.beginObject(JsonReader.java:)
1 parent 804bef0 commit 67386ac

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/main/kotlin/com/ecwid/apiclient/v3/ApiClientHelper.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.ecwid.apiclient.v3.impl.*
1515
import com.ecwid.apiclient.v3.jsontransformer.JsonTransformer
1616
import com.ecwid.apiclient.v3.jsontransformer.JsonTransformerProvider
1717
import com.ecwid.apiclient.v3.jsontransformer.PolymorphicType
18+
import com.ecwid.apiclient.v3.jsontransformer.gson.GsonTransformer
1819
import com.ecwid.apiclient.v3.metric.RequestSizeMetric
1920
import com.ecwid.apiclient.v3.metric.RequestTimeMetric
2021
import com.ecwid.apiclient.v3.metric.ResponseSizeMetric
@@ -23,6 +24,7 @@ import com.ecwid.apiclient.v3.responsefields.responseFieldsOf
2324
import com.ecwid.apiclient.v3.util.buildEndpointPath
2425
import com.ecwid.apiclient.v3.util.createSecurePatterns
2526
import com.ecwid.apiclient.v3.util.maskLogString
27+
import com.google.gson.Gson
2628
import java.net.URI
2729
import java.util.*
2830
import java.util.logging.Level
@@ -196,7 +198,8 @@ class ApiClientHelper private constructor(
196198
try {
197199
val responseBody = responseBytes.asString()
198200
logErrorResponseIfNeeded(requestId, requestTime, httpResponse.statusCode, responseBody)
199-
val ecwidError = if (responseBody.isNotBlank()) {
201+
// Because of a html-based balancer error we must check responseBody string to be an actual json object
202+
val ecwidError = if (responseBody.isNotBlank() && responseBody.startsWith("{")) {
200203
jsonTransformer.deserialize(responseBody, EcwidApiError::class.java)
201204
} else {
202205
null

0 commit comments

Comments
 (0)