@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.
Files changed (54) hide show
  1. package/dist/cjs/index.d.ts +1 -0
  2. package/dist/cjs/index.js +36 -7
  3. package/dist/cjs/libs/adapter-node/constants.d.ts +33 -0
  4. package/dist/cjs/libs/adapter-node/constants.js +38 -0
  5. package/dist/cjs/libs/adapter-node/context.d.ts +13 -0
  6. package/dist/cjs/libs/adapter-node/context.js +162 -0
  7. package/dist/cjs/libs/adapter-node/index.d.ts +23 -0
  8. package/dist/cjs/libs/adapter-node/index.js +124 -0
  9. package/dist/cjs/libs/adapter-node/metadata.d.ts +14 -0
  10. package/dist/cjs/libs/adapter-node/metadata.js +130 -0
  11. package/dist/cjs/libs/adapter-node/request.d.ts +38 -0
  12. package/dist/cjs/libs/adapter-node/request.js +432 -0
  13. package/dist/cjs/libs/adapter-node/tool.d.ts +2 -0
  14. package/dist/cjs/libs/adapter-node/tool.js +227 -0
  15. package/dist/cjs/libs/adapter-node/types.d.ts +78 -0
  16. package/dist/cjs/libs/adapter-node/types.js +3 -0
  17. package/dist/cjs/libs/adapter-node/utils.d.ts +17 -0
  18. package/dist/cjs/libs/adapter-node/utils.js +221 -0
  19. package/dist/cjs/libs/request.d.ts +1 -0
  20. package/dist/cjs/libs/request.js +3 -2
  21. package/dist/esm/index.d.ts +1 -0
  22. package/dist/esm/index.js +36 -7
  23. package/dist/esm/libs/adapter-node/constants.d.ts +33 -0
  24. package/dist/esm/libs/adapter-node/constants.js +35 -0
  25. package/dist/esm/libs/adapter-node/context.d.ts +13 -0
  26. package/dist/esm/libs/adapter-node/context.js +156 -0
  27. package/dist/esm/libs/adapter-node/index.d.ts +23 -0
  28. package/dist/esm/libs/adapter-node/index.js +118 -0
  29. package/dist/esm/libs/adapter-node/metadata.d.ts +14 -0
  30. package/dist/esm/libs/adapter-node/metadata.js +123 -0
  31. package/dist/esm/libs/adapter-node/request.d.ts +38 -0
  32. package/dist/esm/libs/adapter-node/request.js +429 -0
  33. package/dist/esm/libs/adapter-node/tool.d.ts +2 -0
  34. package/dist/esm/libs/adapter-node/tool.js +223 -0
  35. package/dist/esm/libs/adapter-node/types.d.ts +78 -0
  36. package/dist/esm/libs/adapter-node/types.js +2 -0
  37. package/dist/esm/libs/adapter-node/utils.d.ts +17 -0
  38. package/dist/esm/libs/adapter-node/utils.js +205 -0
  39. package/dist/esm/libs/request.d.ts +1 -0
  40. package/dist/esm/libs/request.js +3 -2
  41. package/dist/miniprogram/index.js +1 -1
  42. package/package.json +20 -4
  43. package/src/index.ts +63 -7
  44. package/src/libs/adapter-node/constants.ts +42 -0
  45. package/src/libs/adapter-node/context.ts +238 -0
  46. package/src/libs/adapter-node/index.ts +166 -0
  47. package/src/libs/adapter-node/metadata.ts +69 -0
  48. package/src/libs/adapter-node/request.ts +480 -0
  49. package/src/libs/adapter-node/tool.ts +223 -0
  50. package/src/libs/adapter-node/types.ts +116 -0
  51. package/src/libs/adapter-node/utils.ts +182 -0
  52. package/src/libs/request.ts +4 -2
  53. package/webpack/web.prod.js +13 -13
  54. 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
+ }