正在显示
3 个修改的文件
包含
71 行增加
和
0 行删除
lib/boot/knox-client.js
0 → 100644
1 | + | |
2 | +// # knox client | |
3 | + | |
4 | +var _ = require('underscore'); | |
5 | +var util = require('util'); | |
6 | +var knox = require('knox'); | |
7 | + | |
8 | +exports = module.exports = function(settings) { | |
9 | + | |
10 | + if (!_.isObject(settings.knox)) | |
11 | + throw new Error('Settings did not have a `knox` object'); | |
12 | + | |
13 | + // bucket, key, and secret | |
14 | + _.each(['bucket', 'key', 'secret'], function(str) { | |
15 | + if (!_.isString(settings.knox[str])) | |
16 | + throw new Error(util.format('Settings did not have a `settings.knox.%s` string', str)); | |
17 | + }); | |
18 | + | |
19 | + return knox.createClient(settings.knox); | |
20 | + | |
21 | +}; | |
22 | + | |
23 | +exports['@singleton'] = true; | |
24 | +exports['@require'] = [ 'igloo/settings' ]; | ... | ... |
lib/boot/s3-stream-upload.js
0 → 100644
1 | + | |
2 | +// # Amazon S3 Stream Upload | |
3 | + | |
4 | +var mergeDefaults = require('merge-defaults'); | |
5 | +var _ = require('underscore'); | |
6 | +var util = require('util'); | |
7 | +var AWS = require('aws-sdk'); | |
8 | +var s3UploadStream = require('s3-upload-stream'); | |
9 | + | |
10 | +exports = module.exports = function(settings, logger) { | |
11 | + | |
12 | + if (!_.isObject(settings.aws)) | |
13 | + throw new Error('Settings did not have an `aws` object'); | |
14 | + | |
15 | + // accessKeyId, secretAccessKey, bucket | |
16 | + _.each([ 'accessKeyId', 'secretAccessKey', 'bucket' ], function(str) { | |
17 | + if (!_.isString(settings.aws[str])) | |
18 | + throw new Error(util.format('Settings did not have a `settings.aws.%s` string', str)); | |
19 | + }); | |
20 | + | |
21 | + AWS.config.update(settings.aws); | |
22 | + AWS.config.update({ logger: logger }); | |
23 | + | |
24 | + function setHeaders(headers) { | |
25 | + | |
26 | + if (!_.isObject(headers)) | |
27 | + headers = {}; | |
28 | + | |
29 | + headers = mergeDefaults({ | |
30 | + Bucket: settings.aws.bucket | |
31 | + }, headers); | |
32 | + | |
33 | + var s3Stream = s3UploadStream(new AWS.S3()); | |
34 | + | |
35 | + var upload = s3Stream.upload(headers); | |
36 | + | |
37 | + return upload; | |
38 | + | |
39 | + } | |
40 | + | |
41 | + return setHeaders; | |
42 | + | |
43 | +}; | |
44 | + | |
45 | +exports['@singleton'] = true; | |
46 | +exports['@require'] = [ 'igloo/settings', 'igloo/logger' ]; | ... | ... |
请
注册
或
登录
后发表评论