Handle JSON parsing error
Evidence: https://gitlab.com/pheix-pool/core-perl6/-/jobs/5913467378
at 0: expected a json object, but got '"error co"'
in sub parse-thing at /usr/share/perl6/site/sources/F13CDD097310A0775131666979B65ADF692574DD (JSON::Fast) line 818
in sub from-json at /usr/share/perl6/site/sources/F13CDD097310A0775131666979B65ADF692574DD (JSON::Fast) line 972
in method send at /usr/share/perl6/site/sources/B1344F0110995DB47188A68FE8F5E81EBDAA927A (Trove::Coveralls) line 93
in method coveralls at /usr/share/perl6/site/sources/64C18CD375201ECA91AFA186F000A3FF80224AF7 (Trove) line 302
in method process at /usr/share/perl6/site/sources/64C18CD375201ECA91AFA186F000A3FF80224AF7 (Trove) line 104
in sub MAIN at /usr/share/perl6/site/resources/77A63C5387DE8798D40D01D335B46113A209375F line 54
in block <unit> at /usr/share/perl6/site/resources/77A63C5387DE8798D40D01D335B46113A209375F line 3
in sub MAIN at /usr/share/perl6/site/bin/trove-cli line 3
in block <unit> at /usr/share/perl6/site/bin/trove-cli line 1
Code: https://gitlab.com/pheix/raku-trove/-/blob/main/lib/Trove/Coveralls.rakumod#L93
Investigation
On error response there might be smth diff from JSON, so we have to try{ ... }
. Code snippet:
try {
self.msg(:m(to-json(from-json($response.content), :pretty)));
CATCH {
default {
my $e = .message;
self.msg(:m($e));
}
}
}