In production, seeing instances where valid chronik queries may return unparseable errors if the server is re-indexing. These errors come with status code `502` from axiosIn this case, which is the same status code as "good" error msgs,we want to try a different server. i.e.But right now, error msgs that the user should know about like "you asked for block "test" but that is not a hash or height."chronik-client only recognizes the need to try a different server if the server is unreachable.
Since we cannotThe unreachable server case is distinguished by status code,`'code' in err`. we distinguish by the ability to parse the error msg according to chronik proto. We add a new filter for "try another server" -- if we are unable to decode the error msg returned by the server according to chronik's `proto`.
If we can't parse the error, it's not a defined chronik error, and there is something wrong with the server.