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 积分,解读结果公开显示在下面。

还没有人解读过这个文件。