Skip to content

Commit 4fd0c66

Browse files
authored
Merge pull request supabase-community#904 from supabase-community/body-or-null
Only catch serialization exceptions in `bodyOrNull`
2 parents e7337fb + 3e48897 commit 4fd0c66

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

Supabase/src/commonMain/kotlin/io/github/jan/supabase/SupabaseClient.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ interface SupabaseClient {
7171
var DEFAULT_LOG_LEVEL = LogLevel.INFO
7272
internal set
7373

74-
internal val LOGGER = createLogger("Supabase-Core")
74+
val LOGGER = createLogger("Supabase-Core")
7575

7676
/**
7777
* Creates a new [SupabaseLogger] using the [KermitSupabaseLogger] implementation.

Supabase/src/commonMain/kotlin/io/github/jan/supabase/Utils.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ package io.github.jan.supabase
22

33
import io.github.jan.supabase.annotations.SupabaseInternal
44
import io.github.jan.supabase.exceptions.SupabaseEncodingException
5+
import io.github.jan.supabase.logging.i
56
import io.ktor.client.statement.HttpResponse
67
import io.ktor.client.statement.bodyAsText
78
import io.ktor.http.URLBuilder
89
import kotlinx.serialization.ExperimentalSerializationApi
910
import kotlinx.serialization.MissingFieldException
11+
import kotlinx.serialization.SerializationException
1012
import kotlinx.serialization.json.Json
1113
import kotlinx.serialization.json.JsonObject
1214
import kotlinx.serialization.json.JsonObjectBuilder
@@ -58,10 +60,11 @@ inline fun <reified T> JsonObject.decodeIfNotEmptyOrDefault(default: T): T {
5860

5961
@SupabaseInternal
6062
suspend inline fun <reified T> HttpResponse.bodyOrNull(): T? {
63+
val text = bodyAsText()
6164
return try {
62-
val text = bodyAsText()
6365
supabaseJson.decodeFromString<T>(text)
64-
} catch(_: Exception) {
66+
} catch(e: SerializationException) {
67+
SupabaseClient.LOGGER.i(e) { "Could not decode $text as ${T::class}." }
6568
null
6669
}
6770
}

0 commit comments

Comments
 (0)