Return JSON RPC errors for personal_unlockAccount #171
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The geth JSON RPC client code in the FireFly CLI is wrapped in a retry / delay loop, but the function which unlocks an account wasn't returning errors properly. It would return an error if the HTTP request itself failed (for example if the server wasn't listening) or if the HTTP status code was something other than
200
. However, when a JSON RPC server has a problem fulfilling a request, they usually return200 OK
and put the specific JSON RPC error code / message inside the JSON response body. For example:This small code change parses JSON RPC errors and returns them, allowing the retry logic to kick in when necessary.