cloud189-sdk 1.0.9 → 1.0.10-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/dist/CloudAuthClient.d.ts +0 -59
- package/dist/CloudAuthClient.js +0 -249
- package/dist/CloudClient.d.ts +0 -165
- package/dist/CloudClient.js +0 -720
- package/dist/cloud189-sdk.d.ts +0 -889
- package/dist/const.d.ts +0 -15
- package/dist/const.js +0 -20
- package/dist/error.d.ts +0 -5
- package/dist/error.js +0 -30
- package/dist/hook/checkErrorHook.d.ts +0 -2
- package/dist/hook/checkErrorHook.js +0 -9
- package/dist/hook/index.d.ts +0 -3
- package/dist/hook/index.js +0 -7
- package/dist/hook/logHook.d.ts +0 -2
- package/dist/hook/logHook.js +0 -9
- package/dist/index.d.ts +0 -5
- package/dist/index.js +0 -21
- package/dist/log.d.ts +0 -7
- package/dist/log.js +0 -10
- package/dist/signature.d.ts +0 -7
- package/dist/signature.js +0 -55
- package/dist/store/file-token-store.d.ts +0 -15
- package/dist/store/file-token-store.js +0 -89
- package/dist/store/index.d.ts +0 -3
- package/dist/store/index.js +0 -19
- package/dist/store/memstore.d.ts +0 -22
- package/dist/store/memstore.js +0 -29
- package/dist/store/store.d.ts +0 -20
- package/dist/store/store.js +0 -10
- package/dist/types.d.ts +0 -557
- package/dist/types.js +0 -40
- package/dist/util.d.ts +0 -15
- package/dist/util.js +0 -119
package/dist/util.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.asyncPool = exports.calculateFileAndChunkMD5 = exports.partSize = exports.randomString = exports.md5 = exports.hexToBase64 = exports.hmacSha1 = exports.aesECBEncrypt = exports.rsaEncrypt = exports.getSignature = exports.sortParameter = void 0;
|
|
7
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const sortParameter = (data) => {
|
|
10
|
-
if (!data) {
|
|
11
|
-
return '';
|
|
12
|
-
}
|
|
13
|
-
const e = Object.entries(data).map((t) => t.join('='));
|
|
14
|
-
e.sort((a, b) => (a > b ? 1 : a < b ? -1 : 0));
|
|
15
|
-
return e.join('&');
|
|
16
|
-
};
|
|
17
|
-
exports.sortParameter = sortParameter;
|
|
18
|
-
const getSignature = (data) => {
|
|
19
|
-
const parameter = (0, exports.sortParameter)(data);
|
|
20
|
-
return crypto_1.default.createHash('md5').update(parameter).digest('hex');
|
|
21
|
-
};
|
|
22
|
-
exports.getSignature = getSignature;
|
|
23
|
-
const rsaEncrypt = (publicKey, origData, encoding = 'hex') => {
|
|
24
|
-
const key = `-----BEGIN PUBLIC KEY-----\n${publicKey}\n-----END PUBLIC KEY-----`;
|
|
25
|
-
const encryptedData = crypto_1.default.publicEncrypt({
|
|
26
|
-
key,
|
|
27
|
-
padding: crypto_1.default.constants.RSA_PKCS1_PADDING
|
|
28
|
-
}, Buffer.from(origData));
|
|
29
|
-
return encryptedData.toString(encoding);
|
|
30
|
-
};
|
|
31
|
-
exports.rsaEncrypt = rsaEncrypt;
|
|
32
|
-
const aesECBEncrypt = (data, key) => {
|
|
33
|
-
const p = Object.entries(data)
|
|
34
|
-
.map((t) => t.join('='))
|
|
35
|
-
.join('&');
|
|
36
|
-
const cipher = crypto_1.default.createCipheriv('aes-128-ecb', Buffer.from(key, 'utf8'), null);
|
|
37
|
-
cipher.setAutoPadding(true);
|
|
38
|
-
let encrypted = cipher.update(p, 'utf-8', 'hex');
|
|
39
|
-
encrypted += cipher.final('hex');
|
|
40
|
-
return encrypted;
|
|
41
|
-
};
|
|
42
|
-
exports.aesECBEncrypt = aesECBEncrypt;
|
|
43
|
-
const hmacSha1 = (data, key, encoding = 'hex') => {
|
|
44
|
-
const p = Object.entries(data)
|
|
45
|
-
.map((t) => t.join('='))
|
|
46
|
-
.join('&');
|
|
47
|
-
const hmac = crypto_1.default.createHmac('sha1', key);
|
|
48
|
-
hmac.update(p);
|
|
49
|
-
return hmac.digest(encoding);
|
|
50
|
-
};
|
|
51
|
-
exports.hmacSha1 = hmacSha1;
|
|
52
|
-
const hexToBase64 = (data) => {
|
|
53
|
-
const buffer = Buffer.from(data, 'hex');
|
|
54
|
-
return buffer.toString('base64');
|
|
55
|
-
};
|
|
56
|
-
exports.hexToBase64 = hexToBase64;
|
|
57
|
-
const md5 = (data) => {
|
|
58
|
-
return crypto_1.default.createHash('md5').update(data).digest('hex');
|
|
59
|
-
};
|
|
60
|
-
exports.md5 = md5;
|
|
61
|
-
const randomString = (f) => {
|
|
62
|
-
return f.replace(/[xy]/g, (e) => {
|
|
63
|
-
var t = (16 * Math.random()) | 0, n = 'x' === e ? t : (3 & t) | 8;
|
|
64
|
-
return n.toString(16);
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
exports.randomString = randomString;
|
|
68
|
-
const partSize = (size) => {
|
|
69
|
-
const DEFAULT = 1024 * 1024 * 10; // 10 MiB
|
|
70
|
-
if (size > DEFAULT * 2 * 999) {
|
|
71
|
-
const chunkSize = size / 1999;
|
|
72
|
-
const ratio = chunkSize / DEFAULT;
|
|
73
|
-
const multiplier = Math.max(Math.ceil(ratio), 5);
|
|
74
|
-
return multiplier * DEFAULT;
|
|
75
|
-
}
|
|
76
|
-
if (size > DEFAULT * 999) {
|
|
77
|
-
return DEFAULT * 2; // 20 MiB
|
|
78
|
-
}
|
|
79
|
-
return DEFAULT;
|
|
80
|
-
};
|
|
81
|
-
exports.partSize = partSize;
|
|
82
|
-
const calculateFileAndChunkMD5 = (filePath, chunkSize = 1024 * 1024) => {
|
|
83
|
-
return new Promise((resolve, reject) => {
|
|
84
|
-
const stream = fs_1.default.createReadStream(filePath, { highWaterMark: chunkSize });
|
|
85
|
-
const fileHash = crypto_1.default.createHash('md5');
|
|
86
|
-
const chunkMd5s = [];
|
|
87
|
-
stream.on('data', (chunk) => {
|
|
88
|
-
fileHash.update(chunk);
|
|
89
|
-
const chunkHash = (0, exports.md5)(chunk);
|
|
90
|
-
chunkMd5s.push(chunkHash.toUpperCase());
|
|
91
|
-
});
|
|
92
|
-
stream.on('end', () => {
|
|
93
|
-
const fileMd5 = fileHash.digest('hex');
|
|
94
|
-
stream.close();
|
|
95
|
-
resolve({ fileMd5, chunkMd5s });
|
|
96
|
-
});
|
|
97
|
-
stream.on('error', (err) => {
|
|
98
|
-
reject(err);
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
exports.calculateFileAndChunkMD5 = calculateFileAndChunkMD5;
|
|
103
|
-
const asyncPool = async (poolLimit, array, iteratorFn) => {
|
|
104
|
-
const ret = []; // 存储所有异步任务
|
|
105
|
-
const executing = []; // 存储正在执行的异步任务
|
|
106
|
-
for (const item of array) {
|
|
107
|
-
const p = Promise.resolve().then(() => iteratorFn(item, array));
|
|
108
|
-
ret.push(p);
|
|
109
|
-
if (poolLimit <= array.length) {
|
|
110
|
-
const e = p.then(() => executing.splice(executing.indexOf(e), 1));
|
|
111
|
-
executing.push(e);
|
|
112
|
-
if (executing.length >= poolLimit) {
|
|
113
|
-
await Promise.race(executing);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return Promise.all(ret);
|
|
118
|
-
};
|
|
119
|
-
exports.asyncPool = asyncPool;
|