summaryrefslogtreecommitdiff
path: root/app/node_modules/okservices/oks3/index.js
diff options
context:
space:
mode:
authorSean Fridman <mail@seanfridman.com>2015-12-12 16:21:35 +0100
committerSean Fridman <mail@seanfridman.com>2015-12-12 16:21:35 +0100
commiteb2d4cd758eb06abfe9387a33f1e0f0898980d0d (patch)
treec927f97a6a43b0254af5fc7f386c30af9aa9c9a7 /app/node_modules/okservices/oks3/index.js
parent59d9b7e777b1b684aae6d85951c95d29450aee12 (diff)
Implement Twitter service
Diffstat (limited to 'app/node_modules/okservices/oks3/index.js')
-rw-r--r--app/node_modules/okservices/oks3/index.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/app/node_modules/okservices/oks3/index.js b/app/node_modules/okservices/oks3/index.js
new file mode 100644
index 0000000..bd0915e
--- /dev/null
+++ b/app/node_modules/okservices/oks3/index.js
@@ -0,0 +1,42 @@
+var skipper = require('skipper');
+var skipperS3 = require('skipper-s3')
+
+function OKS3(options) {
+ if (!(this instanceof OKS3)) return new OKS3(options);
+ options = options || {};
+ if (!options.express)
+ throw new Error('Express not provided to OKS3');
+ if (!options.s3)
+ throw new Error('S3 configuration not provided to OKS3');
+ var express = options.express;
+
+ var router = express.Router();
+
+ router.use(skipper());
+
+ router.post('/', function(req, res) {
+ // req should have a method `file` on it which is
+ // provided by skipper. Use that to do AWS stuff
+ req.file('image').upload({
+ adapter: skipperS3,
+ key: options.s3.key,
+ secret: options.s3.secret,
+ bucket: options.s3.bucket,
+ dirname: options.s3.dirname,
+ maxBytes: options.s3.maxbytes,
+ headers: {
+ 'x-amz-acl': 'public-read'
+ }
+ }, function (err, uploadedFiles) {
+ res.json(uploadedFiles);
+ });
+ });
+
+ this._middleware = router;
+}
+
+OKS3.prototype.middleware = function() {
+ return this._middleware;
+};
+
+module.exports = OKS3