diff --git a/packages/lambda-at-edge-handlers/lib/prerender-check.ts b/packages/lambda-at-edge-handlers/lib/prerender-check.ts index ad907410..6b4ec090 100644 --- a/packages/lambda-at-edge-handlers/lib/prerender-check.ts +++ b/packages/lambda-at-edge-handlers/lib/prerender-check.ts @@ -11,31 +11,25 @@ export const handler = async ( ): Promise => { let request = event.Records[0].cf.request; - /** - * If the request is from a bot, is not a file and is not from prerender - * then set the x-request-prerender header so the origin-request lambda function - * alters the origin to prerender.io - * "x-is-a-bot" header should be whitelisted in the respective behaviors - */ - if (IS_BOT.test(request.headers["user-agent"][0].value)) { - request.headers["x-is-a-bot"] = [ + // If the request is from a bot, is not a file and is not from prerender + // then set the x-request-prerender header so the origin-request lambda function + // alters the origin to prerender.io + if ( + !IS_FILE.test(request.uri) && + IS_BOT.test(request.headers["user-agent"][0].value) && + !request.headers["x-prerender"] + ) { + request.headers["x-request-prerender"] = [ { - key: "x-is-a-bot", + key: "x-request-prerender", value: "true", }, ]; - if (!IS_FILE.test(request.uri) && !request.headers["x-prerender"]) { - request.headers["x-request-prerender"] = [ - { - key: "x-request-prerender", - value: "true", - }, - ]; - request.headers["x-prerender-host"] = [ - { key: "X-Prerender-Host", value: request.headers.host[0].value }, - ]; - } + request.headers["x-prerender-host"] = [ + { key: "X-Prerender-Host", value: request.headers.host[0].value }, + ]; } + return request; };