Created
January 26, 2019 01:37
-
-
Save DavidWells/28c59d7fe7e01b1465aa0540b5ba6ac0 to your computer and use it in GitHub Desktop.
Respond with dynamic HTML from a lambda function
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = (event, context, callback) => { | |
let name | |
if (event.pathParameters && event.pathParameters.name) { | |
name = event.pathParameters.name | |
} | |
/* generate the hello paragraph */ | |
const helloParagraph = greetPerson(name) | |
// callback is sending HTML back | |
return callback(null, { | |
statusCode: 200, | |
headers: { | |
'Content-Type': 'text/html', | |
}, | |
body: generateHtmlPage(helloParagraph), | |
}) | |
} | |
/* Utility function for rendering HTML */ | |
function generateHtmlPage(content) { | |
/* for security always escape output html */ | |
// const safeValues = escapeHtml(content) | |
return ` | |
<html> | |
<style> | |
h1 { color: #73757d } | |
</style> | |
<body> | |
${content} | |
</body> | |
</html>` | |
} | |
/* Utility function for rendering hello message HTML */ | |
function greetPerson(name) { | |
const userName = name || 'Unknown Person!' | |
return `<p>Hey ${userName}!</p>` | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment