import { CloudFrontRequestHandler } from "aws-lambda"; export const handler: CloudFrontRequestHandler = (event, _, callback) => { const request = event.Records[0].cf.request; const olduri = request.uri; const redirect = (newUri: string) => { const response = { status: "301", statusDescription: "Moved Permanently", headers: { location: [ { key: "Location", value: `https://roamjs.com${newUri}`, }, ], }, }; return callback(null, response); } if (/^\/docs(\/extensions)?/.test(olduri)) { const newUri = olduri.replace(/^\/docs(\/extensions)?/, "/extensions"); return redirect(newUri); } else if (/^\/services\/social(\/)?/.test(olduri)) { const newUri = '/extensions/twitter'; return redirect(newUri); } else if (/^\/services(.*)$/.test(olduri)) { const newUri = olduri.replace(/^\/services(.*)$/, "/extensions$1"); return redirect(newUri); } return callback(null, request); };