Skip to content

Instantly share code, notes, and snippets.

@jkrnak
Last active April 6, 2021 12:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jkrnak/a9a98aad61779ba8acc22109891fb953 to your computer and use it in GitHub Desktop.
Save jkrnak/a9a98aad61779ba8acc22109891fb953 to your computer and use it in GitHub Desktop.
Example Lambda@Edge function to add cache control header to assets
// Lambda function to set cache control public header in case of missing cache control header
exports.handler = (event, context, callback) => {
const { response } = event.Records[0].cf;
const { headers } = response;
const headerCacheControl = 'Cache-Control';
const defaultTimeToLive = 60 * 60 * 24 * 14; // 14 days
if (response.status === '200') {
if (!headers[headerCacheControl.toLowerCase()]) {
headers[headerCacheControl.toLowerCase()] = [{
key: headerCacheControl,
value: `public, max-age=${defaultTimeToLive}`,
}];
}
}
callback(null, response);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment