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"; +}