From 476284d54f3e9d10692db9a1e3764e5d3c7b49c3 Mon Sep 17 00:00:00 2001 From: Ryan Lee Date: Tue, 11 Jun 2024 23:49:25 -0400 Subject: [PATCH] fix: cloudfront timeouts not being caught --- apps/webapp/app/models/endpoint.server.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/webapp/app/models/endpoint.server.ts b/apps/webapp/app/models/endpoint.server.ts index e5c1c21ddad..56f49258556 100644 --- a/apps/webapp/app/models/endpoint.server.ts +++ b/apps/webapp/app/models/endpoint.server.ts @@ -27,6 +27,7 @@ export function detectResponseIsTimeout(rawBody: string, response?: Response) { return ( isResponseVercelTimeout(response) || + isResponseCloudfrontTimeout(response) || isResponseDenoDeployTimeout(rawBody, response) || isResponseCloudflareTimeout(rawBody, response) ); @@ -50,3 +51,7 @@ function isResponseVercelTimeout(response: Response) { function isResponseDenoDeployTimeout(rawBody: string, response: Response) { return response.status === 502 && rawBody.includes("TIME_LIMIT"); } + +function isResponseCloudfrontTimeout(response: Response) { + return response.status === 504 && typeof response.headers.get("x-amz-cf-id") === "string"; +}