@@ -30,6 +30,10 @@ describe("isRetryableDiscordTransientError", () => {
3030 [ "408 status" , Object . assign ( new Error ( "request timeout" ) , { status : 408 } ) ] ,
3131 [ "502 status" , Object . assign ( new Error ( "bad gateway" ) , { status : 502 } ) ] ,
3232 [ "503 statusCode" , Object . assign ( new Error ( "service unavailable" ) , { statusCode : 503 } ) ] ,
33+ [
34+ "signed string statusCode" ,
35+ Object . assign ( new Error ( "service unavailable" ) , { statusCode : "+503" } ) ,
36+ ] ,
3337 [ "fetch failed" , new TypeError ( "fetch failed" ) ] ,
3438 [ "ECONNRESET" , Object . assign ( new Error ( "socket hang up" ) , { code : "ECONNRESET" } ) ] ,
3539 [ "ETIMEDOUT cause" , new Error ( "request failed" , { cause : { code : "ETIMEDOUT" } } ) ] ,
@@ -40,6 +44,7 @@ describe("isRetryableDiscordTransientError", () => {
4044
4145 it . each ( [
4246 [ "400 status" , Object . assign ( new Error ( "bad request" ) , { status : 400 } ) ] ,
47+ [ "fractional status" , Object . assign ( new Error ( "upstream rejected request" ) , { status : 500.5 } ) ] ,
4348 [ "403 status" , Object . assign ( new Error ( "missing permissions" ) , { statusCode : 403 } ) ] ,
4449 [ "unknown channel" , new Error ( "Unknown Channel" ) ] ,
4550 [ "plain string" , "fetch failed" ] ,
0 commit comments