2 Answers
- Newest
- Most votes
- Most comments
0
I do not believe it is feasible to modify the body of HTTP response in Lambda@Edge response triggers. See the documentation below:
When you’re working with the HTTP response, Lambda@Edge does not expose the HTML body that is returned by the origin server to the origin-response trigger.
answered 4 years ago
0
I just want to provide an updated answer to this question. Using a Lambda@Edge origin response function, you can fetch the current html file from S3 and load it into a variable. From there you can modify the payload and then reset it as a new payload. Here is a simple example of fetching the file from S3, but you would still need to write something to modify the payload.
https.get(`https://bucketname.s3.amazonaws.com/index.html`, (res) => {
res.on('data', (d) => {
let file = decoder.write(Buffer.from(d, 'base64'));
response.status = '200';
response.statusDescription = "OK";
response.body = file;
return response;
});
}).on('error', (e) => {
console.error(e);
});
answered 2 years ago
Relevant content
- Accepted Answerasked 8 months ago
- Accepted Answerasked a year ago
- Accepted Answerasked 7 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago