UNPKG

tencentcloud-edgeone-migration-nodejs-v2

Version:

tencentcloud cdn config copy to edgeone

84 lines (78 loc) 2.2 kB
const utils = require('../utils'); const { t } = require("../../i18n/trans"); const genLog = require("../../logGenerator"); function PathBasedOrigin(domain, domainConfig, ruleTransferLog) { const keyConfig = domainConfig.Origin.PathBasedOrigin; if (!keyConfig || !keyConfig.length) { ruleTransferLog.push({ config: t('分路径回源配置(Origin.PathBasedOrigin)'), result: t('未配置'), detail: '' }); genLog.defaultLog(`${t('分路径回源配置(Origin.PathBasedOrigin)')}${t('未配置')}`) return null; } const eoRules = []; keyConfig.forEach(rule => { const [origin, port, weight] = rule.Origin[0].split(':'); let eoRule = { 'Conditions': [ { 'Conditions': [ { 'Operator': 'equal', 'Target': rule.RuleType === 'path' ? 'url' :utils.getTarget(rule.RuleType), 'IgnoreCase': false, 'Values': utils.genOriginValue(rule) } ] } ], 'Actions': [ { 'NormalAction': { 'Action': 'Origin', 'Parameters': [ { 'Name': 'Type', 'Values': [ 'IP_DOMAIN' ] }, { 'Name': 'DomainName', 'Values': [origin] }, { 'Name': 'OriginProtocol', 'Values': [ 'follow' ] }, { 'Name': 'HttpOriginPort', 'Values': [port !== undefined ? port : '80'] }, { 'Name': 'HttpsOriginPort', 'Values': [port !== undefined ? port : '443'] } ] } } ] }; eoRules.push(eoRule); }); ruleTransferLog.push({ config: t('分路径回源配置(Origin.PathBasedOrigin)'), result: t('成功'), detail: '' }); genLog.successLog(`${t('分路径回源配置(Origin.PathBasedOrigin)')}: ${t('成功')}`) return { 'Rules': eoRules, 'Tags': [] }; } module.exports = PathBasedOrigin;