cloudfunctions/ClearingRedundantFolders/node_modules/@cloudbase/manager-node/lib/utils/cloudbase-request.js
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cloudBaseRequest = void 0;
const auth_1 = require("./auth");
const http_request_1 = require("./http-request");
const SUPPORT_REGIONS = ['ap-shanghai', 'ap-guangzhou'];
async function cloudBaseRequest(options) {
// const url = 'https://tcb-admin.tencentcloudapi.com/admin'
const { config, params = {}, method = 'POST', headers = {} } = options;
const { region, envId } = config;
const isInScf = process.env.TENCENTCLOUD_RUNENV === 'SCF'; // 是否scf环境内
const protocol = isInScf ? 'http' : 'https';
const isInContainer = !!process.env.KUBERNETES_SERVICE_HOST; // 是否容器环境
// region 优先级 本地mock 注入 > init region > 云函数环境变量region
const finalRegion = process.env.TCB_REGION || region || process.env.TENCENTCLOUD_REGION || '';
let internetRegionEndpoint = '';
let internalRegionEndpoint = '';
if (finalRegion) {
if (SUPPORT_REGIONS.includes(finalRegion)) {
internetRegionEndpoint = `${finalRegion}.tcb-api.tencentcloudapi.com`;
internalRegionEndpoint = `internal.${finalRegion}.tcb-api.tencentcloudapi.com`;
}
else {
console.warn('当前仅支持上海,广州地域,其他地域默认解析到固定域名(上海地域)');
internetRegionEndpoint = `tcb-api.tencentcloudapi.com`;
internalRegionEndpoint = `internal.tcb-api.tencentcloudapi.com`;
}
}
else {
internetRegionEndpoint = `tcb-api.tencentcloudapi.com`;
internalRegionEndpoint = `internal.tcb-api.tencentcloudapi.com`;
}
// 有地域信息则访问地域级别域名,无地域信息则访问默认域名,默认域名固定解析到上海地域保持兼容
// const internetRegionEndpoint = finalRegion
// ? `${finalRegion}.tcb-api.tencentcloudapi.com`
// : `tcb-api.tencentcloudapi.com`
// const internalRegionEndpoint = finalRegion
// ? `internal.${finalRegion}.tcb-api.tencentcloudapi.com`
// : `internal.tcb-api.tencentcloudapi.com`
// 同地域走内网,跨地域走公网
const isSameRegionVisit = region ? region === process.env.TENCENTCLOUD_REGION : true;
// const endpoint = isInScf || isInContainer ? internalRegionEndpoint : internetRegionEndpoint
const endpoint = isSameRegionVisit && (isInScf || isInContainer)
? internalRegionEndpoint
: internetRegionEndpoint;
// const envpoint = envId ? `${envId}.${endpoint}` : endpoint
const envpoint = endpoint;
const url = `${protocol}://${envpoint}/admin`;
const requestData = Object.assign(Object.assign({}, params), { envName: config.envId, timestamp: Date.now() });
const requestHeaders = Object.assign(Object.assign({}, headers), { 'content-type': 'application/json', 'user-agent': `cloudbase-manager-node/0.1.0`, 'x-tcb-source': 'cloudbase-manager-node, not-scf' });
const { secretId, secretKey, token, proxy } = config;
const authData = {
secretId,
secretKey,
method: method,
pathname: '/admin',
params: requestData,
headers: requestHeaders
};
const authorization = auth_1.getAuth(authData);
后面还有 9 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
