| 
						 | 
						- import urllib from 'urllib';
 - import AgentKeepalive from 'agentkeepalive';
 - import { getUserAgent } from './common/utils/getUserAgent';
 - import initOptions from './common/client/initOptions';
 - 
 - const HttpsAgentKeepalive = AgentKeepalive.HttpsAgent;
 - const globalHttpAgent = new AgentKeepalive();
 - const globalHttpsAgent = new HttpsAgentKeepalive();
 - 
 - class Client {
 -   options;
 - 
 -   urllib;
 - 
 -   agent;
 - 
 -   httpsAgent;
 - 
 -   ctx;
 - 
 -   userAgent;
 - 
 -   constructor(options, ctx) {
 -     if (!(this instanceof Client)) {
 -       return new Client(options, ctx);
 -     }
 - 
 -     if (options && options.inited) {
 -       this.options = options;
 -     } else {
 -       this.options = initOptions(options);
 -     }
 - 
 -     // support custom agent and urllib client
 -     if (this.options.urllib) {
 -       this.urllib = this.options.urllib;
 -     } else {
 -       this.urllib = urllib;
 -       this.agent = this.options.agent || globalHttpAgent;
 -       this.httpsAgent = this.options.httpsAgent || globalHttpsAgent;
 -     }
 -     this.ctx = ctx;
 -     this.userAgent = getUserAgent();
 -   }
 - }
 - 
 - let client;
 - export const setConfig = (options, ctx) => {
 -   client = new Client(options, ctx);
 - };
 - 
 - export { client };
 
 
  |