/ infrastructure / redirect_to_custom_domain.js
redirect_to_custom_domain.js
 1  function handler(event) {
 2      var request = event.request;
 3      var host = request.headers.host.value;
 4          
 5      // If accessing via CloudFront domain, redirect to custom domain
 6      if (host.endsWith('.cloudfront.net')) {
 7          var newUrl = 'https://${custom_domain_name}' + request.uri;
 8          if (request.querystring && request.querystring.value) {
 9              newUrl += '?' + request.querystring.value;
10          }
11          return {
12              statusCode: 301,
13              statusDescription: 'Moved Permanently',
14              headers: {
15                  'location': { value: newUrl }
16              }
17          };
18      }
19          
20      return request;
21  }