catproxy
Version:
a node proxy or host change tools
28 lines (26 loc) • 717 B
JavaScript
import getHttpsSer from './httpsProxySer';
import Promise from 'promise';
import util from 'util';
import log from './log';
let servers = { length: 0 };
let serversPromise = {};
export default serverName => {
// 不传递servername则用sni
if (!serverName) {
serverName = 'localhost';
}
if (servers[serverName]) {
return Promise.resolve(servers[serverName]);
} else {
serversPromise[serverName] =
serversPromise[serverName] ||
getHttpsSer(serverName).then(info => {
servers[serverName] = info;
servers['length'] += 1;
log.debug('当前代理服务器数据:' + servers.length);
delete serversPromise[serverName];
return info;
});
return serversPromise[serverName];
}
};