diff options
Diffstat (limited to 'stacks/uri-rewrite.in')
-rw-r--r-- | stacks/uri-rewrite.in | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/stacks/uri-rewrite.in b/stacks/uri-rewrite.in index 83a391d..e474cec 100644 --- a/stacks/uri-rewrite.in +++ b/stacks/uri-rewrite.in @@ -1,25 +1,34 @@ [+ autogen5 template -*- mode: json -*- +] {"Fn::Join": ["\n", [ - "'use strict';", - "exports.handler = (event, context, callback) => {", - " var whitelist = [", - " 'html',", + "def handler(event, _context):", + " whitelist = [", + " 'asc',", " 'css',", + " 'gif',", + " 'html',", + " 'ico',", + " 'jpeg',", " 'jpg',", - " 'svg',", + " 'js',", + " 'json',", + " 'map',", + " 'md',", + " 'ogg',", + " 'pdf',", " 'png',", + " 'pug',", + " 'sass',", + " 'scss',", + " 'svg',", " 'txt',", " 'xml',", - " 'pdf',", - " 'ico',", - " 'ogg',", - " 'asc'", - " ];", - " var request = event.Records[0].cf.request;", - " var extension = request.uri.split('.').pop();", - " if (typeof extension == 'undefined' || !whitelist.includes(extension)) {", - " request.uri = request.uri.replace(/\\\/?$/, '\/index.html');", - " }", - " return callback(null, request);", - "};" + " ]", + " request = event['Records'][0]['cf']['request']", + " extension = request['uri'].split('.')[-1]", + " if extension is None or extension not in whitelist:", + " if request['uri'][-1] == '/':", + " request['uri'] += 'index.html'", + " else:", + " request['uri'] += '/index.html'", + " return request" ]]} |