@cloudbase/app 3.0.3 → 3.0.5
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/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +36 -7
- package/dist/cjs/libs/adapter-node/constants.d.ts +33 -0
- package/dist/cjs/libs/adapter-node/constants.js +38 -0
- package/dist/cjs/libs/adapter-node/context.d.ts +13 -0
- package/dist/cjs/libs/adapter-node/context.js +162 -0
- package/dist/cjs/libs/adapter-node/index.d.ts +23 -0
- package/dist/cjs/libs/adapter-node/index.js +124 -0
- package/dist/cjs/libs/adapter-node/metadata.d.ts +14 -0
- package/dist/cjs/libs/adapter-node/metadata.js +130 -0
- package/dist/cjs/libs/adapter-node/request.d.ts +38 -0
- package/dist/cjs/libs/adapter-node/request.js +432 -0
- package/dist/cjs/libs/adapter-node/tool.d.ts +2 -0
- package/dist/cjs/libs/adapter-node/tool.js +227 -0
- package/dist/cjs/libs/adapter-node/types.d.ts +78 -0
- package/dist/cjs/libs/adapter-node/types.js +3 -0
- package/dist/cjs/libs/adapter-node/utils.d.ts +17 -0
- package/dist/cjs/libs/adapter-node/utils.js +221 -0
- package/dist/cjs/libs/request.d.ts +1 -0
- package/dist/cjs/libs/request.js +3 -2
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +36 -7
- package/dist/esm/libs/adapter-node/constants.d.ts +33 -0
- package/dist/esm/libs/adapter-node/constants.js +35 -0
- package/dist/esm/libs/adapter-node/context.d.ts +13 -0
- package/dist/esm/libs/adapter-node/context.js +156 -0
- package/dist/esm/libs/adapter-node/index.d.ts +23 -0
- package/dist/esm/libs/adapter-node/index.js +118 -0
- package/dist/esm/libs/adapter-node/metadata.d.ts +14 -0
- package/dist/esm/libs/adapter-node/metadata.js +123 -0
- package/dist/esm/libs/adapter-node/request.d.ts +38 -0
- package/dist/esm/libs/adapter-node/request.js +429 -0
- package/dist/esm/libs/adapter-node/tool.d.ts +2 -0
- package/dist/esm/libs/adapter-node/tool.js +223 -0
- package/dist/esm/libs/adapter-node/types.d.ts +78 -0
- package/dist/esm/libs/adapter-node/types.js +2 -0
- package/dist/esm/libs/adapter-node/utils.d.ts +17 -0
- package/dist/esm/libs/adapter-node/utils.js +205 -0
- package/dist/esm/libs/request.d.ts +1 -0
- package/dist/esm/libs/request.js +3 -2
- package/dist/miniprogram/index.js +1 -1
- package/package.json +20 -4
- package/src/index.ts +63 -7
- package/src/libs/adapter-node/constants.ts +42 -0
- package/src/libs/adapter-node/context.ts +238 -0
- package/src/libs/adapter-node/index.ts +166 -0
- package/src/libs/adapter-node/metadata.ts +69 -0
- package/src/libs/adapter-node/request.ts +480 -0
- package/src/libs/adapter-node/tool.ts +223 -0
- package/src/libs/adapter-node/types.ts +116 -0
- package/src/libs/adapter-node/utils.ts +182 -0
- package/src/libs/request.ts +4 -2
- package/webpack/web.prod.js +13 -13
- package/webpack/webpack.miniprogram.js +9 -3
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { ERROR, SECRET_TYPE } from './constants';
|
|
13
|
+
import { checkIsInScf, getEnv } from './utils';
|
|
14
|
+
export function parseContext(context) {
|
|
15
|
+
if (typeof context !== 'object') {
|
|
16
|
+
throw __assign(__assign({}, ERROR.INVALID_CONTEXT), { message: 'context 必须为对象类型' });
|
|
17
|
+
}
|
|
18
|
+
var parseResult = {};
|
|
19
|
+
var memory_limit_in_mb = context.memory_limit_in_mb, time_limit_in_ms = context.time_limit_in_ms, request_id = context.request_id, function_version = context.function_version, namespace = context.namespace, function_name = context.function_name, environ = context.environ, environment = context.environment;
|
|
20
|
+
try {
|
|
21
|
+
parseResult.memoryLimitInMb = memory_limit_in_mb;
|
|
22
|
+
parseResult.timeLimitIns = time_limit_in_ms;
|
|
23
|
+
parseResult.requestId = request_id;
|
|
24
|
+
parseResult.functionVersion = function_version;
|
|
25
|
+
parseResult.namespace = namespace;
|
|
26
|
+
parseResult.functionName = function_name;
|
|
27
|
+
if (environment) {
|
|
28
|
+
parseResult.environment = JSON.parse(environment);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
var parseEnviron = environ === null || environ === void 0 ? void 0 : environ.split(';');
|
|
32
|
+
var parseEnvironObj = {};
|
|
33
|
+
for (var i in parseEnviron) {
|
|
34
|
+
if (parseEnviron[i].includes('=')) {
|
|
35
|
+
var equalIndex = parseEnviron[i].indexOf('=');
|
|
36
|
+
var key = parseEnviron[i].slice(0, equalIndex);
|
|
37
|
+
var value = parseEnviron[i].slice(equalIndex + 1);
|
|
38
|
+
if (value.indexOf(',') >= 0) {
|
|
39
|
+
value = value.split(',');
|
|
40
|
+
}
|
|
41
|
+
parseEnvironObj[key] = value;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
parseResult.environ = parseEnvironObj;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (_err) {
|
|
48
|
+
throw __assign({}, ERROR.INVALID_CONTEXT);
|
|
49
|
+
}
|
|
50
|
+
return parseResult;
|
|
51
|
+
}
|
|
52
|
+
export var getCloudbaseContext = function (context) {
|
|
53
|
+
if (checkIsInScf()) {
|
|
54
|
+
if (!getEnv('TENCENTCLOUD_REGION')) {
|
|
55
|
+
console.error('[TCB][ERROR] missing `TENCENTCLOUD_REGION` environment');
|
|
56
|
+
}
|
|
57
|
+
if (!getEnv('SCF_NAMESPACE')) {
|
|
58
|
+
console.error('[TCB][ERROR] missing `SCF_NAMESPACE` environment');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
var envObj = getEnv();
|
|
62
|
+
var envFromProcessEnv = {
|
|
63
|
+
TRIGGER_SRC: envObj.TRIGGER_SRC,
|
|
64
|
+
_SCF_TCB_LOG: envObj._SCF_TCB_LOG,
|
|
65
|
+
SCF_NAMESPACE: envObj.SCF_NAMESPACE,
|
|
66
|
+
TENCENTCLOUD_RUNENV: envObj.TENCENTCLOUD_RUNENV,
|
|
67
|
+
TENCENTCLOUD_SECRETID: envObj.TENCENTCLOUD_SECRETID,
|
|
68
|
+
TENCENTCLOUD_SECRETKEY: envObj.TENCENTCLOUD_SECRETKEY,
|
|
69
|
+
TENCENTCLOUD_SESSIONTOKEN: envObj.TENCENTCLOUD_SESSIONTOKEN,
|
|
70
|
+
WX_CONTEXT_KEYS: envObj.WX_CONTEXT_KEYS,
|
|
71
|
+
WX_TRIGGER_API_TOKEN_V0: envObj.WX_TRIGGER_API_TOKEN_V0,
|
|
72
|
+
WX_CLIENTIP: envObj.WX_CLIENTIP,
|
|
73
|
+
WX_CLIENTIPV6: envObj.WX_CLIENTIPV6,
|
|
74
|
+
TCB_CONTEXT_KEYS: envObj.TCB_CONTEXT_KEYS,
|
|
75
|
+
TCB_CONTEXT_CNFG: envObj.TCB_CONTEXT_CNFG,
|
|
76
|
+
LOGINTYPE: envObj.LOGINTYPE,
|
|
77
|
+
};
|
|
78
|
+
var envFromContext = {};
|
|
79
|
+
if (context) {
|
|
80
|
+
var _a = parseContext(context), environment = _a.environment, environ = _a.environ;
|
|
81
|
+
envFromContext = environment || environ || {};
|
|
82
|
+
}
|
|
83
|
+
var tcbContextKeys = envFromContext.TCB_CONTEXT_KEYS || envObj.TCB_CONTEXT_KEYS;
|
|
84
|
+
var wxContextKeys = envFromContext.WX_CONTEXT_KEYS || envObj.WX_CONTEXT_KEYS;
|
|
85
|
+
if (tcbContextKeys) {
|
|
86
|
+
try {
|
|
87
|
+
var tcbKeysList = tcbContextKeys.split(',');
|
|
88
|
+
for (var _i = 0, tcbKeysList_1 = tcbKeysList; _i < tcbKeysList_1.length; _i++) {
|
|
89
|
+
var item = tcbKeysList_1[_i];
|
|
90
|
+
envFromProcessEnv[item] = envFromContext[item] || getEnv(item);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (_e) {
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (wxContextKeys) {
|
|
97
|
+
try {
|
|
98
|
+
var wxKeysList = wxContextKeys.split(',');
|
|
99
|
+
for (var _b = 0, wxKeysList_1 = wxKeysList; _b < wxKeysList_1.length; _b++) {
|
|
100
|
+
var item = wxKeysList_1[_b];
|
|
101
|
+
envFromProcessEnv[item] = envFromContext[item] || getEnv(item);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (_e) {
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
var allContext = __assign(__assign({}, envFromProcessEnv), envFromContext);
|
|
108
|
+
var finalContext = {};
|
|
109
|
+
for (var key in allContext) {
|
|
110
|
+
if (allContext[key] !== undefined) {
|
|
111
|
+
finalContext[key] = allContext[key];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return finalContext;
|
|
115
|
+
};
|
|
116
|
+
export var INIT_CONFIG = {};
|
|
117
|
+
export var getSecretInfo = function (config) {
|
|
118
|
+
var _a, _b, _c, _d, _f, _g;
|
|
119
|
+
INIT_CONFIG = JSON.parse(JSON.stringify(config || {}));
|
|
120
|
+
var _h = getCloudbaseContext(), TCB_ENV = _h.TCB_ENV, SCF_NAMESPACE = _h.SCF_NAMESPACE;
|
|
121
|
+
var env = (config === null || config === void 0 ? void 0 : config.env) || TCB_ENV || SCF_NAMESPACE || '';
|
|
122
|
+
var defaultInfo = {
|
|
123
|
+
env: env,
|
|
124
|
+
secretId: '',
|
|
125
|
+
secretKey: '',
|
|
126
|
+
sessionToken: '',
|
|
127
|
+
accessKey: '',
|
|
128
|
+
secretType: '',
|
|
129
|
+
};
|
|
130
|
+
if (config === null || config === void 0 ? void 0 : config.accessKey) {
|
|
131
|
+
return defaultInfo;
|
|
132
|
+
}
|
|
133
|
+
if (((_a = config === null || config === void 0 ? void 0 : config.auth) === null || _a === void 0 ? void 0 : _a.secretId) && ((_b = config === null || config === void 0 ? void 0 : config.auth) === null || _b === void 0 ? void 0 : _b.secretKey)) {
|
|
134
|
+
return __assign(__assign({}, defaultInfo), { secretId: config.auth.secretId, secretKey: config.auth.secretKey, secretType: SECRET_TYPE.SECRET });
|
|
135
|
+
}
|
|
136
|
+
var secretEnv = getEnv();
|
|
137
|
+
var TENCENTCLOUD_SECRETID = secretEnv.TENCENTCLOUD_SECRETID;
|
|
138
|
+
var TENCENTCLOUD_SECRETKEY = secretEnv.TENCENTCLOUD_SECRETKEY;
|
|
139
|
+
var TENCENTCLOUD_SESSIONTOKEN = secretEnv.TENCENTCLOUD_SESSIONTOKEN;
|
|
140
|
+
var CLOUDBASE_APIKEY = secretEnv.CLOUDBASE_APIKEY;
|
|
141
|
+
if (CLOUDBASE_APIKEY) {
|
|
142
|
+
return __assign(__assign({}, defaultInfo), { accessKey: CLOUDBASE_APIKEY });
|
|
143
|
+
}
|
|
144
|
+
if (TENCENTCLOUD_SECRETID && TENCENTCLOUD_SECRETKEY) {
|
|
145
|
+
return __assign(__assign({}, defaultInfo), { secretId: TENCENTCLOUD_SECRETID, secretKey: TENCENTCLOUD_SECRETKEY, sessionToken: TENCENTCLOUD_SESSIONTOKEN || '', secretType: SECRET_TYPE.SESSION_SECRET });
|
|
146
|
+
}
|
|
147
|
+
if ((_c = config === null || config === void 0 ? void 0 : config.context) === null || _c === void 0 ? void 0 : _c.extendedContext) {
|
|
148
|
+
var extendedContext = config.context.extendedContext;
|
|
149
|
+
if (!env) {
|
|
150
|
+
env = extendedContext.envId || '';
|
|
151
|
+
}
|
|
152
|
+
return __assign(__assign({}, defaultInfo), { secretId: ((_d = extendedContext === null || extendedContext === void 0 ? void 0 : extendedContext.tmpSecret) === null || _d === void 0 ? void 0 : _d.secretId) || '', secretKey: ((_f = extendedContext === null || extendedContext === void 0 ? void 0 : extendedContext.tmpSecret) === null || _f === void 0 ? void 0 : _f.secretKey) || '', sessionToken: ((_g = extendedContext === null || extendedContext === void 0 ? void 0 : extendedContext.tmpSecret) === null || _g === void 0 ? void 0 : _g.token) || '' });
|
|
153
|
+
}
|
|
154
|
+
return __assign({}, defaultInfo);
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWJzL2FkYXB0ZXItbm9kZS9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFZOUMsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFzQjtJQUNqRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtRQUMvQiw0QkFBVyxLQUFLLENBQUMsZUFBZSxLQUFFLE9BQU8sRUFBRSxpQkFBaUIsSUFBRTtLQUMvRDtJQUVELElBQU0sV0FBVyxHQUFRLEVBQUUsQ0FBQTtJQUd6QixJQUFBLGtCQUFrQixHQVNoQixPQUFPLG1CQVRTLEVBQ2xCLGdCQUFnQixHQVFkLE9BQU8saUJBUk8sRUFDaEIsVUFBVSxHQU9SLE9BQU8sV0FQQyxFQUNWLGdCQUFnQixHQU1kLE9BQU8saUJBTk8sRUFDaEIsU0FBUyxHQUtQLE9BQU8sVUFMQSxFQUNULGFBQWEsR0FJWCxPQUFPLGNBSkksRUFFYixPQUFPLEdBRUwsT0FBTyxRQUZGLEVBQ1AsV0FBVyxHQUNULE9BQU8sWUFERSxDQUNGO0lBRVgsSUFBSTtRQUNGLFdBQVcsQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUE7UUFDaEQsV0FBVyxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQTtRQUMzQyxXQUFXLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQTtRQUNsQyxXQUFXLENBQUMsZUFBZSxHQUFHLGdCQUFnQixDQUFBO1FBQzlDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQ2pDLFdBQVcsQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFBO1FBRXhDLElBQUksV0FBVyxFQUFFO1lBRWYsV0FBVyxDQUFDLFdBQVcsR0FB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cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLW11dGFibGUtZXhwb3J0cyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuaW1wb3J0IHsgRVJST1IsIFNFQ1JFVF9UWVBFIH0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQgeyBjaGVja0lzSW5TY2YsIGdldEVudiB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IElDb250ZXh0UGFyYW0sIElDb21wbGV0ZUNsb3VkYmFzZUNvbnRleHQgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMnXG5cbi8qKlxuICog6Kej5p6Q5bm25qCh6aqM5LqR5Ye95pWw5YWl5Y+j55qEIENvbnRleHQg5Y+C5pWwXG4gKiDlsIbkuIvliJLnur/lkb3lkI3nmoTlrZfmrrXovazkuLrpqbzls7DmoLzlvI/vvIzlubbop6PmnpDnjq/looPlj5jph49cbiAqXG4gKiBAcGFyYW0gY29udGV4dCAtIOS6keWHveaVsOWFpeWPo+S8oOWFpeeahCBjb250ZXh0IOWvueixoVxuICogQHJldHVybnMg6Kej5p6Q5ZCO55qE5LiK5LiL5paH5a+56LGh77yM5YyF5ZCrIGVudmlyb25tZW5077yI5paw5p625p6E77yJ5oiWIGVudmlyb27vvIjogIHmnrbmnoTvvIlcbiAqIEB0aHJvd3MgSU5WQUxJRF9DT05URVhUIC0gY29udGV4dCDkuI3mmK/lr7nosaHmiJbop6PmnpDlpLHotKXml7ZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQ29udGV4dChjb250ZXh0OiBJQ29udGV4dFBhcmFtKSB7XG4gIGlmICh0eXBlb2YgY29udGV4dCAhPT0gJ29iamVjdCcpIHtcbiAgICB0aHJvdyB7IC4uLkVSUk9SLklOVkFMSURfQ09OVEVYVCwgbWVzc2FnZTogJ2NvbnRleHQg5b+F6aG75Li65a+56LGh57G75Z6LJyB9XG4gIH1cblxuICBjb25zdCBwYXJzZVJlc3VsdDogYW55ID0ge31cblxuICBjb25zdCB7XG4gICAgbWVtb3J5X2xpbWl0X2luX21iLFxuICAgIHRpbWVfbGltaXRfaW5fbXMsXG4gICAgcmVxdWVzdF9pZCxcbiAgICBmdW5jdGlvbl92ZXJzaW9uLFxuICAgIG5hbWVzcGFjZSxcbiAgICBmdW5jdGlvbl9uYW1lLFxuXG4gICAgZW52aXJvbixcbiAgICBlbnZpcm9ubWVudCxcbiAgfSA9IGNvbnRleHRcblxuICB0cnkge1xuICAgIHBhcnNlUmVzdWx0Lm1lbW9yeUxpbWl0SW5NYiA9IG1lbW9yeV9saW1pdF9pbl9tYlxuICAgIHBhcnNlUmVzdWx0LnRpbWVMaW1pdElucyA9IHRpbWVfbGltaXRfaW5fbXNcbiAgICBwYXJzZVJlc3VsdC5yZXF1ZXN0SWQgPSByZXF1ZXN0X2lkXG4gICAgcGFyc2VSZXN1bHQuZnVuY3Rpb25WZXJzaW9uID0gZnVuY3Rpb25fdmVyc2lvblxuICAgIHBhcnNlUmVzdWx0Lm5hbWVzcGFjZSA9IG5hbWVzcGFjZVxuICAgIHBhcnNlUmVzdWx0LmZ1bmN0aW9uTmFtZSA9IGZ1bmN0aW9uX25hbWVcblxuICAgIGlmIChlbnZpcm9ubWVudCkge1xuICAgICAgLy8g5paw5p625p6E77yaZW52aXJvbm1lbnQg5Li6IEpTT04g5a2X56ym5Liy77yM55u05o6l6Kej5p6QXG4gICAgICBwYXJzZVJlc3VsdC5lbnZpcm9ubWVudCA9IEpTT04ucGFyc2UoZW52aXJvbm1lbnQpXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRPRE86IOiAg+iZkeenu+mZpOiAgeaetuaehOeahOWFvOWuuemAu+i+kVxuICAgICAgLy8g6ICB5p625p6E77yaZW52aXJvbiDkuLrliIblj7fliIbpmpTnmoQga2V5PXZhbHVlIOWtl+espuS4slxuICAgICAgLy8g5a2Y5ZyoIGJ1Z++8mnZhbHVlIOWQq+eJueauiuWtl+espuaXtuWPr+iDveW9seWTjeino+aekFxuICAgICAgY29uc3QgcGFyc2VFbnZpcm9uOiBhbnkgPSBlbnZpcm9uPy5zcGxpdCgnOycpXG4gICAgICBjb25zdCBwYXJzZUVudmlyb25PYmo6IGFueSA9IHt9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZm9yLWluLWFycmF5XG4gICAgICBmb3IgKGNvbnN0IGkgaW4gcGFyc2VFbnZpcm9uKSB7XG4gICAgICAgIGlmIChwYXJzZUVudmlyb25baV0uaW5jbHVkZXMoJz0nKSkge1xuICAgICAgICAgIC8vIOWPquaMieesrOS4gOS4qiA9IOWIh+WJsu+8jOS/neeVmSB2YWx1ZSDkuK3nmoQgPVxuICAgICAgICAgIGNvbnN0IGVxdWFsSW5kZXggPSBwYXJzZUVudmlyb25baV0uaW5kZXhPZignPScpXG4gICAgICAgICAgY29uc3Qga2V5ID0gcGFyc2VFbnZpcm9uW2ldLnNsaWNlKDAsIGVxdWFsSW5kZXgpXG4gICAgICAgICAgbGV0IHZhbHVlOiBhbnkgPSBwYXJzZUVudmlyb25baV0uc2xpY2UoZXF1YWxJbmRleCArIDEpXG5cbiAgICAgICAgICAvLyB2YWx1ZSDlkKvpgJflj7fml7bop4bkuLrmlbDnu4RcbiAgICAgICAgICBpZiAodmFsdWUuaW5kZXhPZignLCcpID49IDApIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUuc3BsaXQoJywnKVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXJzZUVudmlyb25PYmpba2V5XSA9IHZhbHVlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcGFyc2VSZXN1bHQuZW52aXJvbiA9IHBhcnNlRW52aXJvbk9ialxuICAgIH1cbiAgfSBjYXRjaCAoX2VycjogYW55KSB7XG4gICAgdGhyb3cgeyAuLi5FUlJPUi5JTlZBTElEX0NPTlRFWFQgfVxuICB9XG5cbiAgcmV0dXJuIHBhcnNlUmVzdWx0XG59XG5cbi8qKlxuICog6I635Y+W5b2T5YmN5LqR5Ye95pWw5YaF55qE5omA5pyJ546v5aKD5Y+Y6YePXG4gKiDnu5/kuIDku44gcHJvY2Vzcy5lbnYg5ZKMIGNvbnRleHQg5Lik5Liq5p2l5rqQ5ZCI5bm25Y+W5YC8XG4gKlxuICog5Y+W5YC85LyY5YWI57qn77yaY29udGV4dCA+IHByb2Nlc3MuZW52XG4gKiDpgJrov4cgVENCX0NPTlRFWFRfS0VZUyAvIFdYX0NPTlRFWFRfS0VZUyDliqjmgIHmianlsZXpnIDopoHor7vlj5bnmoTnjq/looPlj5jph4/liJfooahcbiAqXG4gKiBAcGFyYW0gY29udGV4dCAtIOWPr+mAie+8jOS6keWHveaVsOWFpeWPo+eahCBjb250ZXh0IOWPguaVsFxuICogQHJldHVybnMg5ZCI5bm25ZCO55qE5a6M5pW0546v5aKD5Y+Y6YeP5LiK5LiL5paHXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDbG91ZGJhc2VDb250ZXh0ID0gKGNvbnRleHQ/OiBJQ29udGV4dFBhcmFtKTogSUNvbXBsZXRlQ2xvdWRiYXNlQ29udGV4dCA9PiB7XG4gIC8vIOS6keWHveaVsOeOr+Wig+S4i+agoemqjOW/heimgeeOr+Wig+WPmOmHj1xuICBpZiAoY2hlY2tJc0luU2NmKCkpIHtcbiAgICBpZiAoIWdldEVudignVEVOQ0VOVENMT1VEX1JFR0lPTicpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbVENCXVtFUlJPUl0gbWlzc2luZyBgVEVOQ0VOVENMT1VEX1JFR0lPTmAgZW52aXJvbm1lbnQnKVxuICAgIH1cbiAgICBpZiAoIWdldEVudignU0NGX05BTUVTUEFDRScpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbVENCXVtFUlJPUl0gbWlzc2luZyBgU0NGX05BTUVTUEFDRWAgZW52aXJvbm1lbnQnKVxuICAgIH1cbiAgfVxuXG4gIC8vIOesrOS4gOatpe+8muS7jiBwcm9jZXNzLmVudiDor7vlj5bln7rnoYDnjq/looPlj5jph49cbiAgY29uc3QgZW52T2JqID0gZ2V0RW52KClcbiAgY29uc3QgZW52RnJvbVByb2Nlc3NFbnY6IGFueSA9IHtcbiAgICBUUklHR0VSX1NSQzogZW52T2JqLlRSSUdHRVJfU1JDLFxuICAgIF9TQ0ZfVENCX0xPRzogZW52T2JqLl9TQ0ZfVENCX0xPRyxcbiAgICBTQ0ZfTkFNRVNQQUNFOiBlbnZPYmouU0NGX05BTUVTUEFDRSxcbiAgICBURU5DRU5UQ0xPVURfUlVORU5WOiBlbnZPYmouVEVOQ0VOVENMT1VEX1JVTkVOVixcbiAgICBURU5DRU5UQ0xPVURfU0VDUkVUSUQ6IGVudk9iai5URU5DRU5UQ0xPVURfU0VDUkVUSUQsXG4gICAgVEVOQ0VOVENMT1VEX1NFQ1JFVEtFWTogZW52T2JqLlRFTkNFTlRDTE9VRF9TRUNSRVRLRVksXG4gICAgVEVOQ0VOVENMT1VEX1NFU1NJT05UT0tFTjogZW52T2JqLlRFTkNFTlRDTE9VRF9TRVNTSU9OVE9LRU4sXG4gICAgV1hfQ09OVEVYVF9LRVlTOiBlbnZPYmouV1hfQ09OVEVYVF9LRVlTLFxuICAgIFdYX1RSSUdHRVJfQVBJX1RPS0VOX1YwOiBlbnZPYmouV1hfVFJJR0dFUl9BUElfVE9LRU5fVjAsXG4gICAgV1hfQ0xJRU5USVA6IGVudk9iai5XWF9DTElFTlRJUCxcbiAgICBXWF9DTElFTlRJUFY2OiBlbnZPYmouV1hfQ0xJRU5USVBWNixcbiAgICBUQ0JfQ09OVEVYVF9LRVlTOiBlbnZPYmouVENCX0NPTlRFWFRfS0VZUyxcbiAgICBUQ0JfQ09OVEVYVF9DTkZHOiBlbnZPYmouVENCX0NPTlRFWFRfQ05GRyxcbiAgICBMT0dJTlRZUEU6IGVudk9iai5MT0dJTlRZUEUsXG4gIH1cblxuICAvLyDnrKzkuozmraXvvJrku44gY29udGV4dCDkuK3op6PmnpDnjq/looPlj5jph49cbiAgbGV0IGVudkZyb21Db250ZXh0OiBhbnkgPSB7fVxuICBpZiAoY29udGV4dCkge1xuICAgIGNvbnN0IHsgZW52aXJvbm1lbnQsIGVudmlyb24gfSA9IHBhcnNlQ29udGV4dChjb250ZXh0KVxuICAgIGVudkZyb21Db250ZXh0ID0gZW52aXJvbm1lbnQgfHwgZW52aXJvbiB8fCB7fVxuICB9XG5cbiAgLy8g56ys5LiJ5q2l77ya5qC55o2uIENPTlRFWFRfS0VZUyDliqjmgIHmianlsZXlj5jph4/liJfooajvvIjkvJjlhYjlj5YgY29udGV4dCDkuK3nmoTlgLzvvIlcbiAgY29uc3QgdGNiQ29udGV4dEtleXMgPSBlbnZGcm9tQ29udGV4dC5UQ0JfQ09OVEVYVF9LRVlTIHx8IGVudk9iai5UQ0JfQ09OVEVYVF9LRVlTXG4gIGNvbnN0IHd4Q29udGV4dEtleXMgPSBlbnZGcm9tQ29udGV4dC5XWF9DT05URVhUX0tFWVMgfHwgZW52T2JqLldYX0NPTlRFWFRfS0VZU1xuXG4gIGlmICh0Y2JDb250ZXh0S2V5cykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0Y2JLZXlzTGlzdCA9IHRjYkNvbnRleHRLZXlzLnNwbGl0KCcsJylcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0Y2JLZXlzTGlzdCkge1xuICAgICAgICBlbnZGcm9tUHJvY2Vzc0VudltpdGVtXSA9IGVudkZyb21Db250ZXh0W2l0ZW1dIHx8IGdldEVudihpdGVtKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKF9lKSB7XG4gICAgICAvL1xuICAgIH1cbiAgfVxuXG4gIGlmICh3eENvbnRleHRLZXlzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHd4S2V5c0xpc3QgPSB3eENvbnRleHRLZXlzLnNwbGl0KCcsJylcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB3eEtleXNMaXN0KSB7XG4gICAgICAgIGVudkZyb21Qcm9jZXNzRW52W2l0ZW1dID0gZW52RnJvbUNvbnRleHRbaXRlbV0gfHwgZ2V0RW52KGl0ZW0pXG4gICAgICB9XG4gICAgfSBjYXRjaCAoX2UpIHtcbiAgICAgIC8vXG4gICAgfVxuICB9XG5cbiAgLy8g56ys5Zub5q2l77ya5ZCI5bm25omA5pyJ5p2l5rqQ77yMY29udGV4dCDnmoTlgLzopobnm5YgcHJvY2Vzcy5lbnbvvIzov4fmu6QgdW5kZWZpbmVkXG4gIGNvbnN0IGFsbENvbnRleHQgPSB7IC4uLmVudkZyb21Qcm9jZXNzRW52LCAuLi5lbnZGcm9tQ29udGV4dCB9XG5cbiAgY29uc3QgZmluYWxDb250ZXh0OiBhbnkgPSB7fVxuICBmb3IgKGNvbnN0IGtleSBpbiBhbGxDb250ZXh0KSB7XG4gICAgaWYgKGFsbENvbnRleHRba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBmaW5hbENvbnRleHRba2V5XSA9IGFsbENvbnRleHRba2V5XVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmaW5hbENvbnRleHRcbn1cblxuLyoqIOe8k+WtmCBleHRlbmRlZENvbnRleHTvvIzkvpvlhbbku5bmqKHlnZfor7vlj5bvvIjlpoIgdG9vbC50cyDkuK3ojrflj5YgdXNlcklk77yJICovXG5leHBvcnQgbGV0IElOSVRfQ09ORklHOiBJQ2xvdWRiYXNlQ29uZmlnID0ge30gYXMgdW5rbm93biBhcyBJQ2xvdWRiYXNlQ29uZmlnXG5cbi8qKlxuICog5LuO546v5aKD5Y+Y6YeP5Lit6I635Y+W6IW+6K6v5LqR5Li05pe25a+G6ZKl5L+h5oGvXG4gKiDnlKjkuo4gQVBJIOivt+axguetvuWQjVxuICovXG5leHBvcnQgY29uc3QgZ2V0U2VjcmV0SW5mbyA9IChjb25maWc/OiBJQ2xvdWRiYXNlQ29uZmlnKSA9PiB7XG4gIElOSVRfQ09ORklHID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjb25maWcgfHwge30pKVxuXG4gIGNvbnN0IHsgVENCX0VOViwgU0NGX05BTUVTUEFDRSB9ID0gZ2V0Q2xvdWRiYXNlQ29udGV4dCgpXG5cbiAgbGV0IGVudiA9IGNvbmZpZz8uZW52IHx8IFRDQl9FTlYgfHwgU0NGX05BTUVTUEFDRSB8fCAnJ1xuICBjb25zdCBkZWZhdWx0SW5mbyA9IHtcbiAgICBlbnYsXG4gICAgc2VjcmV0SWQ6ICcnLFxuICAgIHNlY3JldEtleTogJycsXG4gICAgc2Vzc2lvblRva2VuOiAnJyxcbiAgICBhY2Nlc3NLZXk6ICcnLFxuICAgIHNlY3JldFR5cGU6ICcnLFxuICB9XG5cbiAgaWYgKGNvbmZpZz8uYWNjZXNzS2V5KSB7XG4gICAgcmV0dXJuIGRlZmF1bHRJbmZvXG4gIH1cblxuICBpZiAoY29uZmlnPy5hdXRoPy5zZWNyZXRJZCAmJiBjb25maWc/LmF1dGg/LnNlY3JldEtleSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0SW5mbyxcbiAgICAgIHNlY3JldElkOiBjb25maWcuYXV0aC5zZWNyZXRJZCxcbiAgICAgIHNlY3JldEtleTogY29uZmlnLmF1dGguc2VjcmV0S2V5LFxuICAgICAgc2VjcmV0VHlwZTogU0VDUkVUX1RZUEUuU0VDUkVULFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNlY3JldEVudiA9IGdldEVudigpXG4gIGNvbnN0IHsgVEVOQ0VOVENMT1VEX1NFQ1JFVElEIH0gPSBzZWNyZXRFbnZcbiAgY29uc3QgeyBURU5DRU5UQ0xPVURfU0VDUkVUS0VZIH0gPSBzZWNyZXRFbnZcbiAgY29uc3QgeyBURU5DRU5UQ0xPVURfU0VTU0lPTlRPS0VOIH0gPSBzZWNyZXRFbnZcbiAgY29uc3QgeyBDTE9VREJBU0VfQVBJS0VZIH0gPSBzZWNyZXRFbnZcblxuICBpZiAoQ0xPVURCQVNFX0FQSUtFWSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0SW5mbyxcbiAgICAgIGFjY2Vzc0tleTogQ0xPVURCQVNFX0FQSUtFWSxcbiAgICB9XG4gIH1cblxuICBpZiAoVEVOQ0VOVENMT1VEX1NFQ1JFVElEICYmIFRFTkNFTlRDTE9VRF9TRUNSRVRLRVkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZGVmYXVsdEluZm8sXG4gICAgICBzZWNyZXRJZDogVEVOQ0VOVENMT1VEX1NFQ1JFVElELFxuICAgICAgc2VjcmV0S2V5OiBURU5DRU5UQ0xPVURfU0VDUkVUS0VZLFxuICAgICAgc2Vzc2lvblRva2VuOiBURU5DRU5UQ0xPVURfU0VTU0lPTlRPS0VOIHx8ICcnLFxuICAgICAgc2VjcmV0VHlwZTogU0VDUkVUX1RZUEUuU0VTU0lPTl9TRUNSRVQsXG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbmZpZz8uY29udGV4dD8uZXh0ZW5kZWRDb250ZXh0KSB7XG4gICAgY29uc3QgeyBleHRlbmRlZENvbnRleHQgfSA9IGNvbmZpZy5jb250ZXh0XG4gICAgaWYgKCFlbnYpIHtcbiAgICAgIGVudiA9IGV4dGVuZGVkQ29udGV4dC5lbnZJZCB8fCAnJ1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0SW5mbyxcbiAgICAgIHNlY3JldElkOiBleHRlbmRlZENvbnRleHQ/LnRtcFNlY3JldD8uc2VjcmV0SWQgfHwgJycsXG4gICAgICBzZWNyZXRLZXk6IGV4dGVuZGVkQ29udGV4dD8udG1wU2VjcmV0Py5zZWNyZXRLZXkgfHwgJycsXG4gICAgICBzZXNzaW9uVG9rZW46IGV4dGVuZGVkQ29udGV4dD8udG1wU2VjcmV0Py50b2tlbiB8fCAnJyxcbiAgICB9XG4gIH1cblxuICByZXR1cm4geyAuLi5kZWZhdWx0SW5mbyB9XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SDKAdapterInterface } from '@cloudbase/adapter-interface';
|
|
2
|
+
import { ICloudbaseConfig } from '@cloudbase/types';
|
|
3
|
+
export { NodeRequest } from './request';
|
|
4
|
+
export { parseQueryString, createWebStreamFromNodeReadableStream } from './utils';
|
|
5
|
+
export type { ICreateTicketOpts, IGetUserInfoResult, IGetEndUserInfoResult, IUserInfoQuery, IContextParam, ICompleteCloudbaseContext, } from './types';
|
|
6
|
+
declare function isMatch(): boolean;
|
|
7
|
+
declare function genAdapter(options: any): SDKAdapterInterface & {
|
|
8
|
+
getSecretInfo: (config?: ICloudbaseConfig) => {
|
|
9
|
+
env: string;
|
|
10
|
+
secretId: string;
|
|
11
|
+
secretKey: string;
|
|
12
|
+
sessionToken: string;
|
|
13
|
+
accessKey: string;
|
|
14
|
+
secretType: string;
|
|
15
|
+
};
|
|
16
|
+
nodeTool: (app: any, config: ICloudbaseConfig) => void;
|
|
17
|
+
};
|
|
18
|
+
declare const adapter: {
|
|
19
|
+
genAdapter: typeof genAdapter;
|
|
20
|
+
isMatch: typeof isMatch;
|
|
21
|
+
runtime: string;
|
|
22
|
+
};
|
|
23
|
+
export default adapter;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import { StorageType, } from '@cloudbase/adapter-interface';
|
|
24
|
+
import { NodeRequest } from './request';
|
|
25
|
+
import { nodeTool } from './tool';
|
|
26
|
+
import { getSecretInfo } from './context';
|
|
27
|
+
import { parseQueryString } from './utils';
|
|
28
|
+
var _WS = null;
|
|
29
|
+
function getWS() {
|
|
30
|
+
if (!_WS) {
|
|
31
|
+
try {
|
|
32
|
+
_WS = require('ws');
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
throw new Error('缺少依赖 ws,请执行以下命令安装:\n\n'
|
|
36
|
+
+ ' npm install ws\n\n'
|
|
37
|
+
+ '该依赖用于 Node 环境下的 WebSocket 连接。');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return _WS;
|
|
41
|
+
}
|
|
42
|
+
export { NodeRequest } from './request';
|
|
43
|
+
export { parseQueryString, createWebStreamFromNodeReadableStream } from './utils';
|
|
44
|
+
function isMatch() {
|
|
45
|
+
return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
|
|
46
|
+
}
|
|
47
|
+
var storage = (function () {
|
|
48
|
+
var db = new Map();
|
|
49
|
+
return {
|
|
50
|
+
mode: 'sync',
|
|
51
|
+
setItem: function (key, value) {
|
|
52
|
+
db.set(key, value);
|
|
53
|
+
},
|
|
54
|
+
getItem: function (key) {
|
|
55
|
+
return db.get(key);
|
|
56
|
+
},
|
|
57
|
+
removeItem: function (key) {
|
|
58
|
+
db.delete(key);
|
|
59
|
+
},
|
|
60
|
+
clear: function () {
|
|
61
|
+
db.clear();
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
})();
|
|
65
|
+
function genAdapter(options) {
|
|
66
|
+
var adapter = {
|
|
67
|
+
nodeTool: nodeTool,
|
|
68
|
+
getSecretInfo: getSecretInfo,
|
|
69
|
+
root: { globalThis: {} },
|
|
70
|
+
reqClass: NodeRequest,
|
|
71
|
+
wsClass: getWS(),
|
|
72
|
+
sessionStorage: storage,
|
|
73
|
+
localStorage: storage,
|
|
74
|
+
primaryStorage: StorageType.session,
|
|
75
|
+
captchaOptions: {
|
|
76
|
+
openURIWithCallback: function (_url) {
|
|
77
|
+
var EventBus = options.EventBus;
|
|
78
|
+
var queryObj = {};
|
|
79
|
+
var url = _url;
|
|
80
|
+
var matched = _url.match(/^(data:.*?)(\?[^#\s]*)?$/);
|
|
81
|
+
if (matched) {
|
|
82
|
+
url = matched[1];
|
|
83
|
+
var search = matched[2];
|
|
84
|
+
if (search) {
|
|
85
|
+
queryObj = parseQueryString(search);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
var token = queryObj.token, restQueryObj = __rest(queryObj, ["token"]);
|
|
89
|
+
if (/^data:/.test(url) && !token) {
|
|
90
|
+
return Promise.reject({
|
|
91
|
+
error: 'invalid_argument',
|
|
92
|
+
error_description: "invalie captcha data: ".concat(_url),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
if (!token) {
|
|
96
|
+
return Promise.reject({
|
|
97
|
+
error: 'unimplemented',
|
|
98
|
+
error_description: 'need to impl captcha data',
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return new Promise(function (resolve) {
|
|
102
|
+
EventBus.$emit('CAPTCHA_DATA_CHANGE', __assign(__assign({}, restQueryObj), { token: token, url: url }));
|
|
103
|
+
EventBus.$once('RESOLVE_CAPTCHA_DATA', function (res) {
|
|
104
|
+
resolve(res);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
return adapter;
|
|
111
|
+
}
|
|
112
|
+
var adapter = {
|
|
113
|
+
genAdapter: genAdapter,
|
|
114
|
+
isMatch: isMatch,
|
|
115
|
+
runtime: 'node-adapter',
|
|
116
|
+
};
|
|
117
|
+
export default adapter;
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlicy9hZGFwdGVyLW5vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLE9BQU8sRUFHTCxXQUFXLEdBRVosTUFBTSw4QkFBOEIsQ0FBQTtBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFJMUMsSUFBSSxHQUFHLEdBQVEsSUFBSSxDQUFBO0FBQ25CLFNBQVMsS0FBSztJQUNaLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixJQUFJO1lBRUYsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0I7a0JBQ3BDLHNCQUFzQjtrQkFDdEIsK0JBQStCLENBQUUsQ0FBQTtTQUN0QztLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBR0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFjakYsU0FBUyxPQUFPO0lBRWQsT0FBTyxPQUFPLE9BQU8sS0FBSyxXQUFXLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFBO0FBQ3BHLENBQUM7QUFNRCxJQUFNLE9BQU8sR0FBcUIsQ0FBQztJQUNqQyxJQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcs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bGludC1kaXNhYmxlIHByZWZlci1kZXN0cnVjdHVyaW5nICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB7XG4gIFNES0FkYXB0ZXJJbnRlcmZhY2UsXG4gIFN0b3JhZ2VJbnRlcmZhY2UsXG4gIFN0b3JhZ2VUeXBlLFxuICBXZWJTb2NrZXRDb250cnVjdG9yIGFzIFdlYlNvY2tldENvbnN0cnVjdG9yLFxufSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuXG5pbXBvcnQgeyBOb2RlUmVxdWVzdCB9IGZyb20gJy4vcmVxdWVzdCdcbmltcG9ydCB7IG5vZGVUb29sIH0gZnJvbSAnLi90b29sJ1xuaW1wb3J0IHsgZ2V0U2VjcmV0SW5mbyB9IGZyb20gJy4vY29udGV4dCdcbmltcG9ydCB7IHBhcnNlUXVlcnlTdHJpbmcgfSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMnXG5cbi8vIHdzIOW7tui/n+WKoOi9ve+8jOmBv+WFjemdniBOb2RlIOeOr+Wig+aJk+WMheaXtuW8leWFpVxubGV0IF9XUzogYW55ID0gbnVsbFxuZnVuY3Rpb24gZ2V0V1MoKSB7XG4gIGlmICghX1dTKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICBfV1MgPSByZXF1aXJlKCd3cycpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCfnvLrlsJHkvp3otZYgd3PvvIzor7fmiafooYzku6XkuIvlkb3ku6Tlronoo4XvvJpcXG5cXG4nXG4gICAgICAgICsgJyAgbnBtIGluc3RhbGwgd3NcXG5cXG4nXG4gICAgICAgICsgJ+ivpeS+nei1lueUqOS6jiBOb2RlIOeOr+Wig+S4i+eahCBXZWJTb2NrZXQg6L+e5o6l44CCJywpXG4gICAgfVxuICB9XG4gIHJldHVybiBfV1Ncbn1cblxuLy8gUmUtZXhwb3J0IGZvciBleHRlcm5hbCBjb25zdW1lcnNcbmV4cG9ydCB7IE5vZGVSZXF1ZXN0IH0gZnJvbSAnLi9yZXF1ZXN0J1xuZXhwb3J0IHsgcGFyc2VRdWVyeVN0cmluZywgY3JlYXRlV2ViU3RyZWFtRnJvbU5vZGVSZWFkYWJsZVN0cmVhbSB9IGZyb20gJy4vdXRpbHMnXG5leHBvcnQgdHlwZSB7XG4gIElDcmVhdGVUaWNrZXRPcHRzLFxuICBJR2V0VXNlckluZm9SZXN1bHQsXG4gIElHZXRFbmRVc2VySW5mb1Jlc3VsdCxcbiAgSVVzZXJJbmZvUXVlcnksXG4gIElDb250ZXh0UGFyYW0sXG4gIElDb21wbGV0ZUNsb3VkYmFzZUNvbnRleHQsXG59IGZyb20gJy4vdHlwZXMnXG5cbi8qKlxuICog546v5aKD5Yy56YWN5qOA5rWL77ya5Yik5pat5b2T5YmN6L+Q6KGM546v5aKD5piv5ZCm5Li6IE5vZGUuanNcbiAqIFNESyDpgJrov4fmraTmlrnms5XlhrPlrprmmK/lkKbkvb/nlKjlvZPliY0gYWRhcHRlclxuICovXG5mdW5jdGlvbiBpc01hdGNoKCk6IGJvb2xlYW4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gIHJldHVybiB0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2Vzcy52ZXJzaW9ucyAhPSBudWxsICYmIHByb2Nlc3MudmVyc2lvbnMubm9kZSAhPSBudWxsXG59XG5cbi8qKlxuICog5Z+65LqOIE1hcCDnmoTlhoXlrZjlrZjlgqjlrp7njrBcbiAqIE5vZGUuanMg546v5aKD5LiL5peg5rWP6KeI5ZmoIFN0b3JhZ2UgQVBJ77yM5L2/55So5YaF5a2YIE1hcCDmqKHmi59cbiAqL1xuY29uc3Qgc3RvcmFnZTogU3RvcmFnZUludGVyZmFjZSA9ICgoKSA9PiB7XG4gIGNvbnN0IGRiID0gbmV3IE1hcCgpXG4gIHJldHVybiB7XG4gICAgbW9kZTogJ3N5bmMnLFxuICAgIHNldEl0ZW0oa2V5LCB2YWx1ZSkge1xuICAgICAgZGIuc2V0KGtleSwgdmFsdWUpXG4gICAgfSxcbiAgICBnZXRJdGVtKGtleSkge1xuICAgICAgcmV0dXJuIGRiLmdldChrZXkpXG4gICAgfSxcbiAgICByZW1vdmVJdGVtKGtleSkge1xuICAgICAgZGIuZGVsZXRlKGtleSlcbiAgICB9LFxuICAgIGNsZWFyKCkge1xuICAgICAgZGIuY2xlYXIoKVxuICAgIH0sXG4gIH1cbn0pKClcblxuLyoqXG4gKiDnlJ/miJAgTm9kZS5qcyDnjq/looPnmoQgU0RLIEFkYXB0ZXJcbiAqIOe7hOijheivt+axguexu+OAgeWtmOWCqOOAgVdlYlNvY2tldOOAgeiupOivgeetieiDveWKm1xuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0g6YWN572u6aG577yM5YyF5ZCrIEV2ZW50QnVz77yI55So5LqO6aqM6K+B56CB5Zue6LCD77yJXG4gKiBAcmV0dXJucyBTREsgQWRhcHRlciDlrp7kvotcbiAqL1xuZnVuY3Rpb24gZ2VuQWRhcHRlcihvcHRpb25zOiBhbnkpIHtcbiAgY29uc3QgYWRhcHRlcjogU0RLQWRhcHRlckludGVyZmFjZSAmIHtcbiAgICBnZXRTZWNyZXRJbmZvOiAoY29uZmlnPzogSUNsb3VkYmFzZUNvbmZpZykgPT4ge1xuICAgICAgZW52OiBzdHJpbmdcbiAgICAgIHNlY3JldElkOiBzdHJpbmdcbiAgICAgIHNlY3JldEtleTogc3RyaW5nXG4gICAgICBzZXNzaW9uVG9rZW46IHN0cmluZ1xuICAgICAgYWNjZXNzS2V5OiBzdHJpbmdcbiAgICAgIHNlY3JldFR5cGU6IHN0cmluZ1xuICAgIH1cbiAgICBub2RlVG9vbDogKGFwcDogYW55LCBjb25maWc6IElDbG91ZGJhc2VDb25maWcpID0+IHZvaWRcbiAgfSA9IHtcbiAgICBub2RlVG9vbCxcbiAgICBnZXRTZWNyZXRJbmZvLFxuICAgIHJvb3Q6IHsgZ2xvYmFsVGhpczoge30gfSxcbiAgICByZXFDbGFzczogTm9kZVJlcXVlc3QsXG4gICAgd3NDbGFzczogZ2V0V1MoKSBhcyBXZWJTb2NrZXRDb25zdHJ1Y3RvcixcbiAgICBzZXNzaW9uU3RvcmFnZTogc3RvcmFnZSxcbiAgICBsb2NhbFN0b3JhZ2U6IHN0b3JhZ2UsXG4gICAgcHJpbWFyeVN0b3JhZ2U6IFN0b3JhZ2VUeXBlLnNlc3Npb24sXG4gICAgY2FwdGNoYU9wdGlvbnM6IHtcbiAgICAgIC8qKlxuICAgICAgICog6aqM6K+B56CB5aSE55CG5Zue6LCDXG4gICAgICAgKiDop6PmnpAgZGF0YTogVVJJIOS4reeahOmqjOivgeeggeWPguaVsO+8jOmAmui/hyBFdmVudEJ1cyDpgJrnn6XkuJrliqHlsYJcbiAgICAgICAqIOetieW+heS4muWKoeWxgui/lOWbnumqjOivgee7k+aenOWQjiByZXNvbHZlXG4gICAgICAgKi9cbiAgICAgIG9wZW5VUklXaXRoQ2FsbGJhY2s6IChfdXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgeyBFdmVudEJ1cyB9ID0gb3B0aW9uc1xuICAgICAgICBsZXQgcXVlcnlPYmo6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPiA9IHt9XG4gICAgICAgIGxldCB1cmwgPSBfdXJsXG5cbiAgICAgICAgLy8g5LuOIGRhdGE6IFVSSSDkuK3mj5Dlj5bmn6Xor6Llj4LmlbBcbiAgICAgICAgY29uc3QgbWF0Y2hlZCA9IF91cmwubWF0Y2goL14oZGF0YTouKj8pKFxcP1teI1xcc10qKT8kLylcbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICB1cmwgPSBtYXRjaGVkWzFdXG4gICAgICAgICAgY29uc3Qgc2VhcmNoID0gbWF0Y2hlZFsyXVxuICAgICAgICAgIGlmIChzZWFyY2gpIHtcbiAgICAgICAgICAgIHF1ZXJ5T2JqID0gcGFyc2VRdWVyeVN0cmluZyhzZWFyY2gpXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyB0b2tlbiwgLi4ucmVzdFF1ZXJ5T2JqIH0gPSBxdWVyeU9ialxuXG4gICAgICAgIC8vIGRhdGE6IOWNj+iuruS9huaXoCB0b2tlbu+8jOinhuS4uuaXoOaViOmqjOivgeeggeaVsOaNrlxuICAgICAgICBpZiAoL15kYXRhOi8udGVzdCh1cmwpICYmICF0b2tlbikge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh7XG4gICAgICAgICAgICBlcnJvcjogJ2ludmFsaWRfYXJndW1lbnQnLFxuICAgICAgICAgICAgZXJyb3JfZGVzY3JpcHRpb246IGBpbnZhbGllIGNhcHRjaGEgZGF0YTogJHtfdXJsfWAsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHtcbiAgICAgICAgICAgIGVycm9yOiAndW5pbXBsZW1lbnRlZCcsXG4gICAgICAgICAgICBlcnJvcl9kZXNjcmlwdGlvbjogJ25lZWQgdG8gaW1wbCBjYXB0Y2hhIGRhdGEnLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAvLyDpgJrnn6XkuJrliqHlsYLlsZXnpLrpqozor4HnoIFcbiAgICAgICAgICBFdmVudEJ1cy4kZW1pdCgnQ0FQVENIQV9EQVRBX0NIQU5HRScsIHtcbiAgICAgICAgICAgIC4uLnJlc3RRdWVyeU9iaixcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICAvLyDnrYnlvoXkuJrliqHlsYLov5Tlm57pqozor4Hnu5PmnpxcbiAgICAgICAgICBFdmVudEJ1cy4kb25jZSgnUkVTT0xWRV9DQVBUQ0hBX0RBVEEnLCAocmVzOiB7IGNhcHRjaGFfdG9rZW46IHN0cmluZzsgZXhwaXJlc19pbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgIH0sXG4gIH1cbiAgcmV0dXJuIGFkYXB0ZXJcbn1cblxuLyoqIE5vZGUuanMgQWRhcHRlciDlhaXlj6Plr7zlh7ogKi9cbmNvbnN0IGFkYXB0ZXIgPSB7XG4gIGdlbkFkYXB0ZXIsXG4gIGlzTWF0Y2gsXG4gIHJ1bnRpbWU6ICdub2RlLWFkYXB0ZXInLFxufVxuXG5leHBvcnQgZGVmYXVsdCBhZGFwdGVyXG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const kMetadataBaseUrl = "http://metadata.tencentyun.com";
|
|
2
|
+
export declare const kAppIdPath = "meta-data/app-id";
|
|
3
|
+
export declare const kSecurityCredentialsPath = "meta-data/cam/security-credentials";
|
|
4
|
+
export declare enum kMetadataVersions {
|
|
5
|
+
'v20170919' = "2017-09-19",
|
|
6
|
+
'v1.0' = "1.0",
|
|
7
|
+
'latest' = "latest"
|
|
8
|
+
}
|
|
9
|
+
export declare function isAppId(appIdStr: string): boolean;
|
|
10
|
+
export declare function lookup(path: string, options?: {
|
|
11
|
+
timeout?: number;
|
|
12
|
+
}): Promise<string>;
|
|
13
|
+
export declare function lookupAppId(): Promise<string>;
|
|
14
|
+
export declare function lookupCredentials(ruleName: string): Promise<string>;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export var kMetadataBaseUrl = 'http://metadata.tencentyun.com';
|
|
38
|
+
export var kAppIdPath = 'meta-data/app-id';
|
|
39
|
+
export var kSecurityCredentialsPath = 'meta-data/cam/security-credentials';
|
|
40
|
+
export var kMetadataVersions;
|
|
41
|
+
(function (kMetadataVersions) {
|
|
42
|
+
kMetadataVersions["v20170919"] = "2017-09-19";
|
|
43
|
+
kMetadataVersions["v1.0"] = "1.0";
|
|
44
|
+
kMetadataVersions["latest"] = "latest";
|
|
45
|
+
})(kMetadataVersions || (kMetadataVersions = {}));
|
|
46
|
+
export function isAppId(appIdStr) {
|
|
47
|
+
return /^[1-9][0-9]{4,64}$/gim.test(appIdStr);
|
|
48
|
+
}
|
|
49
|
+
export function lookup(path, options) {
|
|
50
|
+
if (options === void 0) { options = {}; }
|
|
51
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
52
|
+
var url, controller, timer, resp;
|
|
53
|
+
return __generator(this, function (_a) {
|
|
54
|
+
switch (_a.label) {
|
|
55
|
+
case 0:
|
|
56
|
+
url = "".concat(kMetadataBaseUrl, "/").concat(kMetadataVersions.latest, "/").concat(path);
|
|
57
|
+
controller = new AbortController();
|
|
58
|
+
if (options.timeout) {
|
|
59
|
+
timer = setTimeout(function () { return controller.abort(); }, options.timeout);
|
|
60
|
+
}
|
|
61
|
+
_a.label = 1;
|
|
62
|
+
case 1:
|
|
63
|
+
_a.trys.push([1, , 5, 6]);
|
|
64
|
+
return [4, fetch(url, { signal: controller.signal })];
|
|
65
|
+
case 2:
|
|
66
|
+
resp = _a.sent();
|
|
67
|
+
if (!(resp.status === 200)) return [3, 4];
|
|
68
|
+
return [4, resp.text()];
|
|
69
|
+
case 3: return [2, _a.sent()];
|
|
70
|
+
case 4: throw new Error("[ERROR] GET ".concat(url, " status: ").concat(resp.status));
|
|
71
|
+
case 5:
|
|
72
|
+
if (timer)
|
|
73
|
+
clearTimeout(timer);
|
|
74
|
+
return [7];
|
|
75
|
+
case 6: return [2];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
var metadataCache = {
|
|
81
|
+
appId: undefined,
|
|
82
|
+
};
|
|
83
|
+
export function lookupAppId() {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
+
var appId, _e_1;
|
|
86
|
+
return __generator(this, function (_a) {
|
|
87
|
+
switch (_a.label) {
|
|
88
|
+
case 0:
|
|
89
|
+
if (!(metadataCache.appId === undefined)) return [3, 4];
|
|
90
|
+
_a.label = 1;
|
|
91
|
+
case 1:
|
|
92
|
+
_a.trys.push([1, 3, , 4]);
|
|
93
|
+
return [4, lookup(kAppIdPath, { timeout: 30 })];
|
|
94
|
+
case 2:
|
|
95
|
+
appId = _a.sent();
|
|
96
|
+
if (isAppId(appId)) {
|
|
97
|
+
metadataCache.appId = appId;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
metadataCache.appId = '';
|
|
101
|
+
}
|
|
102
|
+
return [3, 4];
|
|
103
|
+
case 3:
|
|
104
|
+
_e_1 = _a.sent();
|
|
105
|
+
return [3, 4];
|
|
106
|
+
case 4: return [2, metadataCache.appId || ''];
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
export function lookupCredentials(ruleName) {
|
|
112
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
113
|
+
return __generator(this, function (_a) {
|
|
114
|
+
switch (_a.label) {
|
|
115
|
+
case 0: return [4, lookup("".concat(kSecurityCredentialsPath, "/").concat(ruleName), {
|
|
116
|
+
timeout: 200,
|
|
117
|
+
})];
|
|
118
|
+
case 1: return [2, _a.sent()];
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlicy9hZGFwdGVyLW5vZGUvbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTSxDQUFDLElBQU0sZ0JBQWdCLEdBQUcsZ0NBQWdDLENBQUE7QUFFaEUsTUFBTSxDQUFDLElBQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFBO0FBQzVDLE1BQU0sQ0FBQyxJQUFNLHdCQUF3QixHQUFHLG9DQUFvQyxDQUFBO0FBRTVFLE1BQU0sQ0FBTixJQUFZLGlCQUlYO0FBSkQsV0FBWSxpQkFBaUI7SUFDM0IsNkNBQTBCLENBQUE7SUFDMUIsaUNBQWMsQ0FBQTtJQUNkLHNDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxRQUFnQjtJQUN0QyxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFnQixNQUFNLENBQUMsSUFBWSxFQUFFLE9BQWtDO0lBQWxDLHdCQUFBLEVBQUEsWUFBa0M7Ozs7OztvQkFDckUsR0FBRyxHQUFHLFVBQUcsZ0JBQWdCLGNBQUksaUJBQWlCLENBQUMsTUFBTSxjQUFJLElBQUksQ0FBRSxDQUFBO29CQUUvRCxVQUFVLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtvQkFFeEMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO3dCQUNuQixLQUFLLEdBQUcsVUFBVSxDQUFDLGNBQU0sT0FBQSxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQWxCLENBQWtCLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO3FCQUM5RDs7OztvQkFHYyxXQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUE7O29CQUF0RCxJQUFJLEdBQUcsU0FBK0M7eUJBQ3hELENBQUEsSUFBSSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUEsRUFBbkIsY0FBbUI7b0JBQ2QsV0FBTSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUE7d0JBQXhCLFdBQU8sU0FBaUIsRUFBQTt3QkFFMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBZSxHQUFHLHNCQUFZLElBQUksQ0FBQyxNQUFNLENBQUUsQ0FBQyxDQUFBOztvQkFFNUQsSUFBSSxLQUFLO3dCQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTs7Ozs7O0NBRWpDO0FBRUQsSUFBTSxhQUFhLEdBQWtDO0lBQ25ELEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUE7QUFLRCxNQUFNLFVBQWdCLFdBQVc7Ozs7Ozt5QkFDM0IsQ0FBQSxhQUFhLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQSxFQUFqQyxjQUFpQzs7OztvQkFJbkIsV0FBTSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUE7O29CQUFqRCxLQUFLLEdBQUcsU0FBeUM7b0JBQ3ZELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNsQixhQUFhLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtxQkFDNUI7eUJBQU07d0JBQ0wsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7cUJBQ3pCOzs7Ozt3QkFLTCxXQUFPLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFBOzs7O0NBQ2pDO0FBRUQsTUFBTSxVQUFnQixpQkFBaUIsQ0FBQyxRQUFnQjs7Ozt3QkFHL0MsV0FBTSxNQUFNLENBQUMsVUFBRyx3QkFBd0IsY0FBSSxRQUFRLENBQUUsRUFBRTt3QkFDN0QsT0FBTyxFQUFFLEdBQUc7cUJBQ2IsQ0FBQyxFQUFBO3dCQUZGLFdBQU8sU0FFTCxFQUFBOzs7O0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbi8vIOazqOaEj++8muaUueWcsOWdgOW3sue7j+S4jeaYr+S4gOWumuWPr+S7peiuv+mXrueahOS6hlxuZXhwb3J0IGNvbnN0IGtNZXRhZGF0YUJhc2VVcmwgPSAnaHR0cDovL21ldGFkYXRhLnRlbmNlbnR5dW4uY29tJ1xuXG5leHBvcnQgY29uc3Qga0FwcElkUGF0aCA9ICdtZXRhLWRhdGEvYXBwLWlkJ1xuZXhwb3J0IGNvbnN0IGtTZWN1cml0eUNyZWRlbnRpYWxzUGF0aCA9ICdtZXRhLWRhdGEvY2FtL3NlY3VyaXR5LWNyZWRlbnRpYWxzJ1xuXG5leHBvcnQgZW51bSBrTWV0YWRhdGFWZXJzaW9ucyB7XG4gICd2MjAxNzA5MTknID0gJzIwMTctMDktMTknLFxuICAndjEuMCcgPSAnMS4wJyxcbiAgJ2xhdGVzdCcgPSAnbGF0ZXN0Jyxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXBwSWQoYXBwSWRTdHI6IHN0cmluZykge1xuICByZXR1cm4gL15bMS05XVswLTldezQsNjR9JC9naW0udGVzdChhcHBJZFN0cilcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvb2t1cChwYXRoOiBzdHJpbmcsIG9wdGlvbnM6IHsgdGltZW91dD86IG51bWJlciB9ID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB1cmwgPSBgJHtrTWV0YWRhdGFCYXNlVXJsfS8ke2tNZXRhZGF0YVZlcnNpb25zLmxhdGVzdH0vJHtwYXRofWBcblxuICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gIGxldCB0aW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWRcbiAgaWYgKG9wdGlvbnMudGltZW91dCkge1xuICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KCksIG9wdGlvbnMudGltZW91dClcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcCA9IGF3YWl0IGZldGNoKHVybCwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pXG4gICAgaWYgKHJlc3Auc3RhdHVzID09PSAyMDApIHtcbiAgICAgIHJldHVybiBhd2FpdCByZXNwLnRleHQoKVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFtFUlJPUl0gR0VUICR7dXJsfSBzdGF0dXM6ICR7cmVzcC5zdGF0dXN9YClcbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAodGltZXIpIGNsZWFyVGltZW91dCh0aW1lcilcbiAgfVxufVxuXG5jb25zdCBtZXRhZGF0YUNhY2hlOiB7IGFwcElkOiBzdHJpbmcgfCB1bmRlZmluZWQgfSA9IHtcbiAgYXBwSWQ6IHVuZGVmaW5lZCxcbn1cbi8qKlxuICogbG9va3VwQXBwSWQgLSDor6Xmlrnms5XkuLvopoHnlKjkuo7liKTmlq3mmK/lkKblnKjkupHkuIrnjq/looNcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb29rdXBBcHBJZCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICBpZiAobWV0YWRhdGFDYWNoZS5hcHBJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIOWPquaciemmluasoeS8muivt+axguS4lOimgeaxguW/q+mAn+i/lOWbnu+8jOi2heaXtuaXtumXtOW+iOefre+8jEROU+aXoOazleino+aekOWwhuS8mui2heaXtui/lOWbnlxuICAgICAgLy8g5Zyo5LqR546v5aKD5Lit77yM6L+Z5Liq5pe26Ze06YCa5bi45ZyoIDEwbXMg5YaF77yM6YOo5YiG6ICX5pe26ZW/77yIMzArbXPvvInnmoTmg4XlhrXmmK8gRE5TIOino+aekOiAl+aXtumVv++8iDI3K21z77yJXG4gICAgICBjb25zdCBhcHBJZCA9IGF3YWl0IGxvb2t1cChrQXBwSWRQYXRoLCB7IHRpbWVvdXQ6IDMwIH0pXG4gICAgICBpZiAoaXNBcHBJZChhcHBJZCkpIHtcbiAgICAgICAgbWV0YWRhdGFDYWNoZS5hcHBJZCA9IGFwcElkXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXRhZGF0YUNhY2hlLmFwcElkID0gJydcbiAgICAgIH1cbiAgICB9IGNhdGNoIChfZSkge1xuICAgICAgLy8gaWdub3JlXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXRhZGF0YUNhY2hlLmFwcElkIHx8ICcnXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb29rdXBDcmVkZW50aWFscyhydWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgLy8gYCR7a01ldGFkYXRhQmFzZVVybH0vbWV0YS1kYXRhL2NhbS9zZWN1cml0eS1jcmVkZW50aWFscy9UQ0JfUWNzUm9sZWBcbiAgLy8g6L+Z6YeM6K6+572u5LqG5LiA5Liq6L6D55+t55qE6LaF5pe25pe26Ze077yM5Zug5Li66L+Z5Liq6K+35rGC5piv5Zyo5LqR546v5aKD5Lit5Y+R6LW355qE77yM6YCa5bi45Lya5b6I5b+r6L+U5ZueXG4gIHJldHVybiBhd2FpdCBsb29rdXAoYCR7a1NlY3VyaXR5Q3JlZGVudGlhbHNQYXRofS8ke3J1bGVOYW1lfWAsIHtcbiAgICB0aW1lb3V0OiAyMDAsXG4gIH0pXG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IFetchOptions, IRequestConfig, IRequestOptions, ResponseObject, SDKRequestInterface } from '@cloudbase/adapter-interface';
|
|
2
|
+
import type { ICustomReqOpts } from './types';
|
|
3
|
+
import { ICloudbaseConfig } from '@cloudbase/types';
|
|
4
|
+
export declare class NodeRequest implements SDKRequestInterface {
|
|
5
|
+
config: IRequestConfig & ICloudbaseConfig;
|
|
6
|
+
private readonly timeout;
|
|
7
|
+
private readonly restrictedMethods;
|
|
8
|
+
constructor(config: IRequestConfig & ICloudbaseConfig);
|
|
9
|
+
getClientCredential(opts: {
|
|
10
|
+
origin: string;
|
|
11
|
+
}): Promise<any>;
|
|
12
|
+
getRealUrl(url: string, headers: Record<string, any>, body: any): string;
|
|
13
|
+
getReqOptions: (url: string, options: {
|
|
14
|
+
method?: any;
|
|
15
|
+
headers: any;
|
|
16
|
+
body?: any;
|
|
17
|
+
credentials?: string;
|
|
18
|
+
signal?: AbortSignal;
|
|
19
|
+
url?: any;
|
|
20
|
+
}) => Promise<{
|
|
21
|
+
method?: any;
|
|
22
|
+
headers: any;
|
|
23
|
+
body?: any;
|
|
24
|
+
credentials?: string;
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
url?: any;
|
|
27
|
+
}>;
|
|
28
|
+
get: (options: IRequestOptions) => Promise<ResponseObject>;
|
|
29
|
+
post: (options: IRequestOptions) => Promise<ResponseObject>;
|
|
30
|
+
put: (options: IRequestOptions) => Promise<ResponseObject>;
|
|
31
|
+
upload: (options: IRequestOptions) => Promise<ResponseObject>;
|
|
32
|
+
download: (options: IRequestOptions) => Promise<unknown>;
|
|
33
|
+
fetch: (options: Omit<IFetchOptions, "signal"> & {
|
|
34
|
+
signal?: AbortSignal;
|
|
35
|
+
customReqOpts?: ICustomReqOpts;
|
|
36
|
+
}) => Promise<ResponseObject>;
|
|
37
|
+
request: (options: IRequestOptions, enableAbort?: boolean) => Promise<ResponseObject>;
|
|
38
|
+
}
|