UNPKG

11.4 kBSource Map (JSON)View Raw
1{"version":3,"file":"createFeedback.js","names":["_err","_interopRequireDefault","require","_omitNull","_getProxyLabels","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","getTimeout","time","concat","isLowerEqual","str","undefined","str2","toLowerCase","logKeys","_len","args","Array","_key","map","_ref","_ref2","_slicedToArray2","p1","p2","trim","Boolean","createFeedback","props","_ref3","log","stats","tx","apm","labels","_props$options","options","proxy","tries","maxTries","_props$startedAt","startedAt","Date","now","_props$logPrefix","logPrefix","driver","timeout","method","url","prefix","_toConsumableArray2","trace","postfix","provider","getUri","join","startTransaction","customContext","setCustomContext","proxyLabels","getProxyLabels","addLabels","success","_ref4","size","feedback","status","info","trigger","event","omitNull","result","end","err","console","error","initErr","_ref5","fatal","errCode","Err","getCode","subcode","message","getMessage","captureError","code","data","errSubcode","errMessage","err3","exports","_default"],"sources":["../../src/utils/createFeedback.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport Err from '@lskjs/err';\nimport omitNull from '@lskjs/utils/omitNull';\n\nimport { getProxyLabels } from './getProxyLabels';\n// import { getErrCode } from './isNetworkError';\n\nconst getTimeout = (time) => (time ? `${time}ms` : '???ms');\nconst isLowerEqual = (str = '', str2 = '') => str && str.toLowerCase() === str2;\n\nconst logKeys = (...args) => args.map(([p1, p2]) => (p2 ? `[${p1}] ${p2}`.trim() : null)).filter(Boolean);\n\nexport const createFeedback = (props = {}, { log, stats, tx, apm, labels } = {}) => {\n // console.log('[createFeedback]', { log: !!log, stats: !!stats, apm: !!apm });\n const { options = {}, proxy, tries, maxTries, startedAt = Date.now(), logPrefix = [] } = props;\n const { driver, timeout, method, url } = options;\n const prefix = [\n ...logPrefix,\n ['R', tries > 1 ? `${tries}/${maxTries}` : null],\n ['method', !isLowerEqual(method, 'get') ? method : null],\n ['url', url],\n ];\n const trace = [\n ['driver', driver !== 'axios' ? driver : null],\n ['timeout', timeout],\n ];\n const postfix = [\n ['proxy', [proxy ? proxy.provider : null, proxy ? proxy.getUri() : 'localhost'].filter(Boolean).join(' ')],\n ];\n if (!tx && apm) tx = apm.startTransaction('request');\n const customContext = {\n tries,\n maxTries,\n method,\n url,\n };\n if (tx) {\n tx.setCustomContext(customContext);\n const proxyLabels = getProxyLabels(proxy);\n tx.addLabels({\n ...(labels || {}),\n ...proxyLabels,\n });\n }\n if (log) log.trace(...logKeys(...prefix, ...trace, ...postfix));\n return {\n success({ size } = {}) {\n try {\n const time = Date.now() - startedAt;\n if (proxy && proxy.feedback) proxy.feedback({ status: 'success', time, size });\n if (log) log.info('[success]', ...logKeys(...prefix, ['time', getTimeout(time)], ...postfix));\n if (stats) stats.trigger({ event: 'success', startedAt });\n if (tx) {\n tx.addLabels(omitNull({ time, size }));\n tx.result = 'success';\n tx.end();\n }\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log('[createFeedback] success.err ', err);\n }\n },\n error(initErr, { fatal, size } = {}) {\n try {\n const time = Date.now() - startedAt;\n const errCode = Err.getCode(initErr);\n const subcode = initErr?.subcode;\n const message = Err.getMessage(initErr);\n if (proxy && proxy.feedback) {\n proxy.feedback({ status: 'error', err: errCode, time, fatal, size });\n }\n if (log) log.error(...logKeys(...prefix, ['err', errCode], ['time', getTimeout(time)], ...postfix));\n if (stats) stats.trigger({ event: 'error', startedAt });\n if (apm) apm.captureError({ code: errCode, subcode, message, data: initErr.data }); // TODO: подумать про await§\n if (tx) {\n tx.setCustomContext({ ...customContext, errCode, errSubcode: subcode, errMessage: message });\n tx.addLabels(omitNull({ time, size }));\n tx.result = errCode;\n tx.end();\n }\n } catch (err3) {\n // eslint-disable-next-line no-console\n console.log('[createFeedback] error.err ', err3);\n }\n },\n };\n};\n\nexport default createFeedback;\n"],"mappings":"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"}
\No newline at end of file