UNPKG

14 kBSource Map (JSON)View Raw
1{"version":3,"file":"createRequest.js","names":["_env","require","_err","_interopRequireDefault","_retry","_axios","_createFeedback","_isNetworkError","_excluded","_excluded2","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","NETWORK_TIMEOUT","isDev","exports","NETWORK_TRIES","NETWORK_INTERVAL","getProviderOptions","proxy","driver","createRequest","_ref","undefined","_ref$createFeedback","createFeedback","defaultCreateFeedback","labels","onProxyManagerError","axiosCreateParams","axios","feedbackOptions","_objectWithoutProperties2","props","_props$driver","_props$timeout","timeout","_props$interval","interval","initProxy","interceptors","logPrefix","params","maxTries","max_tries","max_retries","maxRetries","max_retry","maxRetry","tries","Err","retry","_asyncToGenerator2","_regenerator","mark","_callee","proxyManager","options","feedback","_res$headers","_res$headers2","abortTimeout","CancelToken","client","_client$interceptors$","_client$interceptors$2","res","size","_res$headers3","_res$headers4","_res","_size","code","fatal","isNetwork","errProps","err","wrap","_callee$","_context","prev","next","sent","getProxy","t0","cancelToken","token","setTimeout","cancel","create","Array","isArray","request","use","_toConsumableArray2","response","headers","Number","clearTimeout","success","abrupt","t1","getErrCode","isNetworkFatal","isNetworkError","message","subcode","getCode","copyProps","error","StopError","stop","throw_original","_default"],"sources":["../src/createRequest.js"],"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"],"mappings":"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"}
\No newline at end of file