cloudfunctions/ClearingRedundantFolders/node_modules/@cloudbase/manager-node/src/utils/cloudbase-request.ts

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

import { getAuth } from './auth'
import { fetch } from './http-request'

const SUPPORT_REGIONS = ['ap-shanghai', 'ap-guangzhou']

export async function cloudBaseRequest(options: {
    config: {
        envId: string
        secretId: string
        secretKey: string
        token?: string
        timeout?: number
        proxy: string
        region: string
    }
    params: Record<string, any>
    method?: string
    headers?: Record<string, any>
}) {
    // 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
后面还有 49 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

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