|  | "use strict"; | 
						
						
							|  | var __importDefault = (this && this.__importDefault) || function (mod) { | 
						
						
							|  |     return (mod && mod.__esModule) ? mod : { "default": mod }; | 
						
						
							|  | }; | 
						
						
							|  | Object.defineProperty(exports, "__esModule", { value: true }); | 
						
						
							|  | exports.client = exports.setConfig = void 0; | 
						
						
							|  | const urllib_1 = __importDefault(require("urllib")); | 
						
						
							|  | const agentkeepalive_1 = __importDefault(require("agentkeepalive")); | 
						
						
							|  | const getUserAgent_1 = require("./common/utils/getUserAgent"); | 
						
						
							|  | const initOptions_1 = __importDefault(require("./common/client/initOptions")); | 
						
						
							|  | const HttpsAgentKeepalive = agentkeepalive_1.default.HttpsAgent; | 
						
						
							|  | const globalHttpAgent = new agentkeepalive_1.default(); | 
						
						
							|  | const globalHttpsAgent = new HttpsAgentKeepalive(); | 
						
						
							|  | class Client { | 
						
						
							|  |     constructor(options, ctx) { | 
						
						
							|  |         if (!(this instanceof Client)) { | 
						
						
							|  |             return new Client(options, ctx); | 
						
						
							|  |         } | 
						
						
							|  |         if (options && options.inited) { | 
						
						
							|  |             this.options = options; | 
						
						
							|  |         } | 
						
						
							|  |         else { | 
						
						
							|  |             this.options = initOptions_1.default(options); | 
						
						
							|  |         } | 
						
						
							|  |         // support custom agent and urllib client | 
						
						
							|  |         if (this.options.urllib) { | 
						
						
							|  |             this.urllib = this.options.urllib; | 
						
						
							|  |         } | 
						
						
							|  |         else { | 
						
						
							|  |             this.urllib = urllib_1.default; | 
						
						
							|  |             this.agent = this.options.agent || globalHttpAgent; | 
						
						
							|  |             this.httpsAgent = this.options.httpsAgent || globalHttpsAgent; | 
						
						
							|  |         } | 
						
						
							|  |         this.ctx = ctx; | 
						
						
							|  |         this.userAgent = getUserAgent_1.getUserAgent(); | 
						
						
							|  |     } | 
						
						
							|  | } | 
						
						
							|  | let client; | 
						
						
							|  | exports.client = client; | 
						
						
							|  | exports.setConfig = (options, ctx) => { | 
						
						
							|  |     exports.client = client = new Client(options, ctx); | 
						
						
							|  | };
 |