@@ -257,7 +257,7 @@ object ApiController {
257
257
payload : InternalErrorPayload ? = null,
258
258
noinline buildErrorResult : ((apiError: ApiError ? , translatedErrorRes: Int ) -> T )? ,
259
259
): T {
260
- val apiError = internalErrorCode.toApiError( payload)
260
+ val apiError = createDetailedApiError(internalErrorCode, payload)
261
261
val translatedError = internalErrorCode.translateRes
262
262
263
263
return buildErrorResult?.invoke(apiError, translatedError)
@@ -277,14 +277,18 @@ object ApiController {
277
277
val bodyResponse : String? = null ,
278
278
)
279
279
280
- fun ErrorCodeTranslated.toApiError (payload : InternalErrorPayload ? = null): ApiError {
280
+ fun ErrorCodeTranslated.toApiError (): ApiError = createDetailedApiError(this , null )
281
+
282
+ fun createDetailedApiError (errorCode : ErrorCodeTranslated , payload : InternalErrorPayload ? = null): ApiError {
281
283
val useKotlinxSerialization = payload?.useKotlinxSerialization
282
284
return ApiError (
283
- code = code,
285
+ code = errorCode. code,
284
286
contextJson = if (useKotlinxSerialization == true ) payload.bodyResponse?.bodyResponseToJson() else null ,
285
287
contextGson = when {
286
288
useKotlinxSerialization == true -> null
287
- else -> runCatching { payload?.let { JsonParser .parseString(it.bodyResponse).asJsonObject } }.getOrDefault(null )
289
+ else -> errorCode.runCatching {
290
+ payload?.let { JsonParser .parseString(it.bodyResponse).asJsonObject }
291
+ }.getOrDefault(null )
288
292
},
289
293
exception = payload?.exception
290
294
)
0 commit comments