UNPKG

857 BJavaScriptView Raw
1const fs = require('fs'),
2 url = require('url'),
3 request = require('request-promise'),
4 mime = require('mime');
5
6const presignUrl = (s3FileName, fileName) => {
7 const serviceUrl = `${process.env.DEPLOY_SERVICE_URL || process.env.MARKETPLACE_URL}/api/private/urls/presign-url`;
8 const params = {
9 fileName: s3FileName,
10 contentLength: fs.statSync(fileName)['size'],
11 contentType: mime.getType(fileName)
12 };
13
14 return request
15 .get({
16 url: serviceUrl,
17 headers: {
18 token: process.env.MARKETPLACE_TOKEN,
19 marketplace_domain: url.parse(process.env.MARKETPLACE_URL).hostname,
20 marketplace_endpoint: PARTNER_PORTAL_HOST
21 },
22 qs: params,
23 json: true
24 })
25 .then(body => {
26 return { uploadUrl: body.url, accessUrl: url.parse(body.accessUrl).href };
27 });
28};
29
30module.exports = presignUrl;