UNPKG

8.72 kBSource Map (JSON)View Raw
1{"version":3,"file":"Proxy.js","names":["_avg","_interopRequireDefault","require","_inc","_events","_pick","_createKey","_createUri","_getIpv","_getProxyAgent","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Proxy","_this$tags","props","undefined","_classCallCheck2","stats","assign","getKey","uri","getUri","tags","ipv","ip","getIpv","ee","EventEmitter","_createClass2","value","getState","pick","toObject","toJSON","getJson","getUrl","provider","createUri","createKey","getOptions","inc","proxy","host","port","user","password","auth","username","getAgent","getProxyAgent","getProviderOptions","httpsAgent","httpAgent","emit","_this$ee","on","_this$ee2","feedback","_props$status","status","err","time","fatal","avg","concat","exports","_default"],"sources":["../src/Proxy.js"],"sourcesContent":["import avg from '@lskjs/utils/avg';\nimport inc from '@lskjs/utils/inc';\nimport EventEmitter from 'events';\nimport pick from 'lodash/pick';\n\nimport { createKey } from './utils/createKey';\nimport { createUri } from './utils/createUri';\nimport { getIpv } from './utils/getIpv';\nimport { getProxyAgent } from './utils/getProxyAgent';\n\nexport class Proxy {\n constructor(props = {}) {\n Object.assign(this, props);\n if (!this.key) this.key = this.getKey();\n if (!this.uri) this.uri = this.getUri();\n if (!this.tags?.ipv && this.ip) {\n if (!this.tags) this.tags = {};\n this.tags.ipv = getIpv(this.ip);\n }\n this.ee = new EventEmitter();\n }\n getState() {\n // const ipv = getIpv(ip);\n return {\n // TODO: migrate provider to tags\n // TODO: think abount ip placement\n ...pick(this, ['type', 'host', 'port', 'user', 'password', 'provider', 'ip', 'tests', 'targets']), // , 'uri', 'key'\n tags: {\n ...this.tags,\n },\n key: this.getKey(),\n uri: this.getUri(),\n };\n }\n toObject() {\n return this.getState();\n }\n toJSON() {\n return this.getState();\n }\n getJson() {\n return this.getState();\n }\n getUrl() {\n return this.getUri();\n }\n getUri() {\n if (this.provider === 'localhost') return null;\n if (this.uri) return this.uri;\n return createUri(this);\n }\n getKey() {\n if (this.provider === 'localhost') return 'localhost';\n return createKey(this);\n }\n getOptions() {\n inc(this.stats, 'get');\n const proxy = {\n host: this.host,\n port: this.port,\n };\n if (this.user && this.password) {\n proxy.auth = {\n username: this.user,\n password: this.password,\n };\n }\n return proxy;\n }\n getAgent() {\n inc(this.stats, 'get');\n if (this.provider === 'localhost') return null;\n return getProxyAgent(this);\n }\n getProviderOptions() {\n inc(this.stats, 'get');\n // lib\n if (this.provider === 'localhost') return {};\n const httpsAgent = getProxyAgent(this);\n return {\n httpsAgent,\n httpAgent: httpsAgent,\n };\n }\n emit(...args) {\n this.ee.emit(...args);\n }\n on(...args) {\n this.ee.on(...args);\n }\n stats = {};\n feedback(props = {}) {\n const { status = 'unknown', err, time, fatal } = props;\n inc(this.stats, 'count');\n inc(this.stats, 'time', time);\n avg(this.stats, `statuses.${status}`, time);\n if (fatal) inc(this.stats, 'fatal');\n if (err) avg(this.stats, `errors.${err}`, time);\n this.emit('feedback', props, this);\n }\n}\n\nexport default Proxy;\n"],"mappings":"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"}
\No newline at end of file