Open
Description
This relates to issue #7 . I've used the code from there and made it more generic and fixed a couple of edge-cases that wouldn't have worked. Please add this to sample library as it's a very common use-case with a non-obvious solution (for those of us not js experts).
function objectToQueryString(obj) {
var str = [];
for (var param in obj)
if (obj[param].value == '')
str.push(encodeURIComponent(param));
else
str.push(encodeURIComponent(param) + "=" + encodeURIComponent(obj[param].value));
return str.join("&");
}
function handler(event) {
var request = event.request;
var uri = request.uri;
var loc = "";
var newdomain = newdomain.com;
if (Object.keys(request.querystring).length)
loc = `https://${newdomain}${uri}?${objectToQueryString(request.querystring)}`
else
loc = `https://${newdomain}${uri}`
var response = {
statusCode: 302,
statusDescription: 'Found',
headers: {
'location': { value: `${loc}` }
}
};
return response;
}
Metadata
Metadata
Assignees
Labels
No labels