UNPKG

10.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/createRequest.js"],"names":["NETWORK_TIMEOUT","isDev","NETWORK_TRIES","NETWORK_INTERVAL","getProviderOptions","proxy","driver","createRequest","createFeedback","defaultCreateFeedback","labels","onProxyManagerError","axiosCreateParams","axios","feedbackOptions","props","timeout","interval","initProxy","interceptors","logPrefix","params","maxTries","max_tries","max_retries","maxRetries","max_retry","maxRetry","tries","Err","proxyManager","getProxy","err","options","feedback","cancelToken","CancelToken","source","token","abortTimeout","setTimeout","cancel","client","create","Array","isArray","request","use","response","res","size","headers","Number","clearTimeout","success","code","fatal","isNetwork","errProps","message","subcode","getCode","copyProps","error","retry","StopError","throw_original"],"mappings":"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","sourcesContent":["/* eslint-disable max-len */\nimport { isDev } from '@lskjs/env';\nimport Err from '@lskjs/err';\nimport retry from '@lskjs/utils/retry';\nimport axios from 'axios';\n\nimport { createFeedback as defaultCreateFeedback } from './utils/createFeedback';\nimport { getErrCode, isNetworkError, isNetworkFatal } from './utils/isNetworkError';\n\nexport const NETWORK_TIMEOUT = isDev ? 1000 : 10000;\nexport const NETWORK_TRIES = isDev ? 2 : 5;\nexport const NETWORK_INTERVAL = isDev ? 100 : 1000;\n\n// TODO: дописать\nexport const getProviderOptions = (proxy, driver) => (proxy ? proxy.getProviderOptions(driver) : {});\n\n// const createNoop = () => ({ success: () => null, error: () => null });\n\nexport const createRequest =\n ({\n createFeedback = defaultCreateFeedback,\n labels,\n onProxyManagerError,\n axios: axiosCreateParams,\n ...feedbackOptions\n } = {}) =>\n (props = {}) => {\n const {\n driver = 'axios',\n // max_tries: maxTries = NETWORK_TRIES,\n timeout = NETWORK_TIMEOUT,\n interval = NETWORK_INTERVAL,\n proxy: initProxy,\n interceptors,\n logPrefix,\n ...params\n } = props;\n const maxTries =\n props.max_tries ||\n props.maxTries ||\n props.max_retries ||\n props.maxRetries ||\n props.max_retry ||\n props.maxRetry ||\n props.tries ||\n NETWORK_TRIES;\n if (driver !== 'axios') throw new Err('REQUEST_DRIVER', 'driver not realized yet', { driver });\n let tries = 0;\n return retry(\n async () => {\n let proxy;\n if (initProxy) proxy = initProxy;\n const proxyManager = await (props.proxyManager || feedbackOptions.proxyManager); // TODO: подумать а не замудренно ли\n\n try {\n if (!proxy && proxyManager) proxy = await proxyManager.getProxy();\n } catch (err) {\n if (onProxyManagerError) {\n await onProxyManagerError({ err, tries, maxTries });\n }\n }\n\n const options = { ...params, ...getProviderOptions(proxy, driver) };\n tries += 1;\n const feedback = createFeedback\n ? createFeedback(\n { options: props, proxy, tries, maxTries, logPrefix },\n { ...feedbackOptions, proxyManager, labels },\n ) // TODO: подумать а не замудренно ли\n : null;\n try {\n let abortTimeout;\n if (timeout && !params.cancelToken) {\n const { CancelToken } = axios;\n const source = CancelToken.source();\n options.cancelToken = source.token;\n abortTimeout = setTimeout(() => source.cancel('REQUEST_NETWORK_TIMEOUT'), timeout);\n }\n const client = axios.create(axiosCreateParams);\n if (interceptors) {\n if (Array.isArray(interceptors.request)) {\n client.interceptors.request.use(...interceptors.request);\n } else {\n client.interceptors.request.use(interceptors.request);\n }\n if (Array.isArray(interceptors.response)) {\n client.interceptors.response.use(...interceptors.response);\n } else {\n client.interceptors.response.use(interceptors.response);\n }\n }\n const res = await client(options);\n res.proxyManager = proxyManager;\n res.proxy = proxy;\n const size = res?.headers?.['content-length'] ? Number(res?.headers?.['content-length']) : null;\n if (abortTimeout) clearTimeout(abortTimeout);\n if (feedback) await feedback.success({ size });\n return res;\n } catch (initErr) {\n const res = initErr?.response;\n const size = res?.headers?.['content-length'] ? Number(res?.headers?.['content-length']) : null;\n const code = getErrCode(initErr);\n const fatal = isNetworkFatal(initErr);\n const isNetwork = isNetworkError(initErr);\n proxy = null;\n let errProps = {\n proxyManager,\n proxy,\n };\n if (isNetwork) {\n errProps = { message: code, subcode: Err.getCode(initErr), class: 'network', tries, maxTries, isNetwork };\n }\n const err = new Err(code, initErr, errProps);\n Err.copyProps(err, initErr);\n err.code = code;\n if (feedback) await feedback.error(err, { fatal, size });\n if (!isNetwork) throw retry.StopError(err); // exit right now\n throw err; // try one again\n }\n },\n {\n throw_original: true,\n interval,\n max_tries: maxTries,\n },\n );\n };\n\nexport default createRequest;\n"],"file":"createRequest.js"}
\No newline at end of file