diff --git a/src/App.js b/src/App.js
index adf8cf6..5bcb6d6 100644
--- a/src/App.js
+++ b/src/App.js
@@ -22,14 +22,16 @@ class LambdaDemo extends Component {
return (
+ {msg}
+
+
-
- {msg}
);
}
diff --git a/src/lambda/promise-chuck-norris.js b/src/lambda/promise-chuck-norris.js
new file mode 100644
index 0000000..74cd2d7
--- /dev/null
+++ b/src/lambda/promise-chuck-norris.js
@@ -0,0 +1,28 @@
+// example to have the handler return a promise directly
+// https://aws.amazon.com/blogs/compute/node-js-8-10-runtime-now-available-in-aws-lambda/
+
+import fetch from 'node-fetch';
+export function handler(event, context) {
+ return new Promise((resolve, reject) => {
+ fetch('https://api.chucknorris.io/jokes/random')
+ .then(response => {
+ if (response.ok) { // response.status >= 200 && response.status < 300
+ return response.json();
+ } else {
+ resolve({ statusCode: response.status, body: response.statusText })
+ };
+ })
+ .then(data =>{
+ const response = {
+ statusCode: 200,
+ headers: { 'content-type': 'application/json' },
+ body: JSON.stringify({ msg: data.value })
+ }
+ resolve(response);
+ })
+ .catch(err => {
+ console.log(err)
+ resolve({ statusCode: 500, body: err.message });
+ })
+ });
+}