Skip to content

Commit

Permalink
JBH-615: Set is a bot header
Browse files Browse the repository at this point in the history
  • Loading branch information
krishanthisera committed Mar 28, 2023
1 parent 5d690c8 commit d397a25
Showing 1 changed file with 20 additions and 14 deletions.
34 changes: 20 additions & 14 deletions packages/lambda-at-edge-handlers/lib/prerender-check.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,31 @@ export const handler = async (
): Promise<CloudFrontRequest> => {
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
if (
!IS_FILE.test(request.uri) &&
IS_BOT.test(request.headers["user-agent"][0].value) &&
!request.headers["x-prerender"]
) {
request.headers["x-request-prerender"] = [
/**
* 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"] = [
{
key: "x-request-prerender",
key: "x-is-a-bot",
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;
};

0 comments on commit d397a25

Please sign in to comment.