diff options
author | Joe Robinson <joe.robinson@masabi.com> | 2018-01-18 15:06:40 +0000 |
---|---|---|
committer | Joe Robinson <joe.robinson@masabi.com> | 2018-01-18 15:06:40 +0000 |
commit | c833eab89e873c15b60d2dae04561e6d3af974f7 (patch) | |
tree | 9dc0321ad7d0bb7a0981b3e61206c9dadb7a97e6 /handler.js |
Test repo
Diffstat (limited to 'handler.js')
-rw-r--r-- | handler.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/handler.js b/handler.js new file mode 100644 index 0000000..4f5c9cb --- /dev/null +++ b/handler.js @@ -0,0 +1,26 @@ +'use strict'; + +const fetch = require('node-fetch'); +const AWS = require('aws-sdk'); // eslint-disable-line import/no-extraneous-dependencies + +const s3 = new AWS.S3(); + +module.exports.save = (event, context, callback) => { + fetch(event.image_url) + .then((response) => { + if (response.ok) { + return response; + } + return Promise.reject(new Error( + `Failed to fetch ${response.url}: ${response.status} ${response.statusText}`)); + }) + .then(response => response.buffer()) + .then(buffer => ( + s3.putObject({ + Bucket: process.env.BUCKET, + Key: event.key, + Body: buffer, + }).promise() + )) + .then(v => callback(null, v), callback); +}; |