tencentcloud-edgeone-migration-nodejs-v2
Version:
tencentcloud cdn config copy to edgeone
50 lines (46 loc) • 1.38 kB
JavaScript
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;