import Logger from '../logger' import {regionUphostMap} from '../config' import {Config, DEFAULT_CHUNK_SIZE, InternalConfig} from '../upload' export function normalizeUploadConfig(config?: Partial, logger?: Logger): InternalConfig { const {upprotocol, uphost, ...otherConfig} = {...config} const normalizeConfig: InternalConfig = { bucketName: "", endpoint: "", region: "", uphost: [], retryCount: 3, checkByMD5: false, forceDirect: false, useCdnDomain: true, concurrentRequestLimit: 3, chunkSize: DEFAULT_CHUNK_SIZE, upprotocol: 'https', debugLogLevel: 'OFF', disableStatisticsReport: false, ...otherConfig } // 兼容原来的 http: https: 的写法 if (upprotocol) { normalizeConfig.upprotocol = upprotocol .replace(/:$/, '') as InternalConfig['upprotocol'] } const hostList: string[] = [] return { ...normalizeConfig, uphost: hostList.filter(Boolean) } }