UNPKG

1.07 kBJavaScriptView Raw
1const request = require('request');
2const chalk = require('chalk');
3
4function httpUpload(httpOptions, assetMap, fn) {
5
6 let formData = {};
7 let { username, password, target, host, port } = httpOptions;
8 let authStr = username && password? `${username}:${password}@` :'';
9
10 assetMap.forEach(file => {
11 formData[normalizePath(target + file.locPath)] = file.assetSource;
12 });
13 console.log('Start uploading');
14 request.post({ url: `http://${authStr}${host}:${port}`, formData }, (error, res) => {
15 console.log(chalk.bold.green('\n-----------------------------------------------'));
16 console.log(chalk.green(`Upload file list:`));
17 console.log(assetMap.map(asset => normalizePath(asset.locPath)));
18 if (error) {
19 console.log('Upload failed', error);
20 } else if (res.statusCode !== 200) {
21 console.log('Upload failed');
22 } else {
23 console.log(chalk.green(`Upload success!!!`));
24 fn && fn();
25 }
26 });
27};
28
29function normalizePath(source) {
30 return source.replace(/\\/g, "/").replace(/\/+/g, "/");
31}
32
33module.exports = httpUpload;