UNPKG

tencentcloud-edgeone-migration-nodejs-v2

Version:

tencentcloud cdn config copy to edgeone

50 lines (46 loc) 1.38 kB
const { t } = require("../../i18n/trans"); const genLog = require("../../logGenerator"); function ResponseHeader(domain, domainConfig, ruleTransferLog) { const keyConfig = domainConfig.ResponseHeader; if (!keyConfig || !keyConfig.HeaderRules || !keyConfig.HeaderRules.length || keyConfig.Switch !== 'on') { ruleTransferLog.push({ config: t('HTTP响应头配置(ResponseHeader)'), result: t('未配置'), detail: '' }); genLog.defaultLog(`${t('HTTP响应头配置(ResponseHeader)')}${t('未配置')}`) return null; } const { HeaderRules } = keyConfig; const eoRules = []; // 反向添加规则(CDN的规则优先级跟EO相反) HeaderRules.forEach(rule => { if (rule.HeaderMode === 'del') { eoRules.push({ 'Action': rule.HeaderMode, 'Name': rule.HeaderName, 'Values': [] }); } else { eoRules.push({ 'Action': rule.HeaderMode, 'Name': rule.HeaderName, 'Values': [rule.HeaderValue] }); }; }); ruleTransferLog.push({ config: t('HTTP响应头配置(ResponseHeader)'), result: t('成功'), detail: '' }); genLog.successLog(`${t('HTTP响应头配置(ResponseHeader)')}${t('成功')}`) return { 'RewriteAction': { 'Action': 'ResponseHeader', 'Parameters': eoRules } }; } module.exports = ResponseHeader;