KEthereum icon indicating copy to clipboard operation
KEthereum copied to clipboard

Have to set lenient on JsonReader for RPC

Open hshar7 opened this issue 7 years ago • 5 comments

I am trying to connect to a basic auth web3 node. If basic auth fails, it returns back non-json text to say that you're not authenticated.. You have to set leninet = true for moshi to be able to return this text back without the client failing. Or perhaps check if it's json, if not jsonify it before handing it to moshi?

Caused by: com.squareup.moshi.JsonEncodingException: Use JsonReader.setLenient(true) to accept malformed JSON at path $
	at com.squareup.moshi.JsonReader.syntaxError(JsonReader.java:220)
	at com.squareup.moshi.JsonUtf8Reader.checkLenient(JsonUtf8Reader.java:1031)
	at com.squareup.moshi.JsonUtf8Reader.doPeek(JsonUtf8Reader.java:344)
	at com.squareup.moshi.JsonUtf8Reader.peek(JsonUtf8Reader.java:171)
	at com.squareup.moshi.JsonAdapter$2.fromJson(JsonAdapter.java:134)
	at com.squareup.moshi.JsonAdapter.fromJson(JsonAdapter.java:36)
	at org.kethereum.rpc.EthereumRPC.getBlockNumberString(EthereumRPC.kt:34)

hshar7 avatar Aug 08 '18 18:08 hshar7

Thanks for the feedback - but not sure if this would be a good approach as this is still not json then. lenient will not help much in this case as far as I see

ligi avatar Aug 08 '18 19:08 ligi

Any other idea on how to solve the issue? Most basic auth systems do not return json.

hshar7 avatar Aug 08 '18 19:08 hshar7

I think it should throw an exception - perhaps it should be a different exception though. Like NotAuthenticatedException. So I think the solution would be to check if the code is != 200 -> and if it is unauthenticated -> throw this error

ligi avatar Aug 08 '18 19:08 ligi

@hshar7 is your service exposed publicly by any chance? would love to test against the real problem ;-)

ligi avatar Aug 13 '18 22:08 ligi

@ligi Sure please do! It isn't exposed publicly but you can can your own instance at https://kaleido.io/ it's really easy to create one. Let me know if you have any questions!

hshar7 avatar Aug 15 '18 22:08 hshar7