UNPKG

5.51 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../src/providers/webshareio/WebshareIoProvider.js"],"names":["WebshareIoProvider","provider","baseURL","config","apiKey","Err","axios","create","headers","Authorization","res","params","client","get","checkErr","data","proxies","fetchListRaw","data0","maxCount","count","pageCount","results","length","maxPage","page","list","Object","values","filter","item","valid","map","createProxy","host","proxy_address","port","ports","http","user","username","password","type","ip","tags","country","String","country_code","toLowerCase","ipv","comment","city_name","undefined","countries","ProxyProvider"],"mappings":"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","sourcesContent":["/* eslint-disable no-await-in-loop */\n/* eslint-disable camelcase */\nimport Err from '@lskjs/err';\nimport axios from 'axios';\n\nimport { ProxyProvider } from '../ProxyProvider';\n\n/**\n * API docs: https://proxy.webshare.io/docs\n */\n\nexport class WebshareIoProvider extends ProxyProvider {\n provider = 'webshareio';\n baseURL = 'https://proxy.webshare.io/api';\n\n async createClient() {\n if (!this.config.apiKey) throw new Err('!config.apiKey');\n return axios.create({\n baseURL: this.baseURL,\n headers: {\n Authorization: `Token ${this.config.apiKey}`,\n },\n });\n }\n\n async checkErr(res) {}\n async fetchListRaw(params = {}) {\n const res = await this.client.get('/proxy/list', { params });\n // const res = await this.client.post('/proxy/list', {query: {limit:}});\n await this.checkErr(res);\n return res.data;\n }\n\n async fetchList() {\n let proxies = [];\n const data0 = await this.fetchListRaw();\n const maxCount = data0?.count;\n const pageCount = data0?.results?.length || 1;\n const maxPage = maxCount / pageCount;\n for (let page = 1; page <= maxPage; page += 1) {\n const data = await this.fetchListRaw({ page });\n const list = Object.values(data.results);\n proxies = [\n ...proxies,\n ...list\n .filter((item) => item.valid)\n .map((item) =>\n this.createProxy({\n host: item.proxy_address,\n port: +item.ports.http,\n user: item.username,\n password: item.password,\n type: 'http',\n ip: item.proxy_address,\n tags: {\n country: String(item.country_code).toLowerCase(),\n ipv: 4,\n comment: item.city_name ? String(item.city_name) : undefined,\n },\n }),\n ),\n ];\n }\n\n return proxies;\n }\n async fetchOptions() {\n return {};\n }\n getBuyListProps() {\n const countries = [];\n return countries.map((country) => ({ country }));\n }\n async buy({ country }) {\n return [];\n }\n}\n\nexport default WebshareIoProvider;\n"],"file":"WebshareIoProvider.js"}
\No newline at end of file