From 421abc20da35b1dd1b8f8177d62673927d2ad18b Mon Sep 17 00:00:00 2001 From: a10zn8 Date: Fri, 9 Dec 2022 19:19:08 +0400 Subject: [PATCH] trying to find null in response - log null string value --- src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt b/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt index 6e0f415f..9a9f5c52 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt @@ -61,6 +61,8 @@ open class NativeCall( private val log = LoggerFactory.getLogger(NativeCall::class.java) private val objectMapper: ObjectMapper = Global.objectMapper + private val nullValue: ByteArray = "null".toByteArray() + var quorumReaderFactory: QuorumReaderFactory = QuorumReaderFactory.default() private val ethereumCallSelectors = EnumMap(Chain::class.java) @@ -119,7 +121,7 @@ open class NativeCall( result.setErrorMessage(error.message).setErrorCode(error.id) } } else { - if (it.result == null || it.result.isEmpty()) { + if (it.result == null || it.result.isEmpty() || nullValue.contentEquals(it.result)) { log.warn("Empty result [${it.result}] on building response, method ${it.ctx?.payload?.method}, params ${it.ctx?.payload?.params}") } result.payload = ByteString.copyFrom(it.result) @@ -340,7 +342,7 @@ open class NativeCall( } private fun validateResult(bytes: ByteArray, origin: String, ctx: ValidCallContext) { - if (bytes.isEmpty()) + if (bytes.isEmpty() || nullValue.contentEquals(bytes)) log.warn("Empty result from origin $origin, method ${ctx.payload.method}, params ${ctx.payload.params}") }