@sima-land/isomorph 9.0.7 → 11.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/dist/cache/types.d.ts +7 -0
- package/dist/cache/types.js +3 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/config/browser.d.ts +6 -0
- package/dist/config/browser.js +13 -0
- package/dist/config/browser.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.js +20 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/node.d.ts +6 -0
- package/dist/config/node.js +19 -0
- package/dist/config/node.js.map +1 -0
- package/dist/config/types.d.ts +7 -0
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/utils.d.ts +5 -0
- package/dist/config/utils.js +12 -0
- package/dist/config/utils.js.map +1 -0
- package/dist/container/application.d.ts +25 -0
- package/dist/container/application.js +63 -0
- package/dist/container/application.js.map +1 -0
- package/dist/container/index.d.ts +18 -0
- package/dist/container/index.js +74 -0
- package/dist/container/index.js.map +1 -0
- package/dist/container/types.d.ts +14 -0
- package/dist/container/types.js +3 -0
- package/dist/container/types.js.map +1 -0
- package/dist/error-tracker/browser.d.ts +8 -0
- package/dist/error-tracker/browser.js +40 -0
- package/dist/error-tracker/browser.js.map +1 -0
- package/dist/error-tracker/node.d.ts +8 -0
- package/dist/error-tracker/node.js +40 -0
- package/dist/error-tracker/node.js.map +1 -0
- package/dist/error-tracker/types.d.ts +18 -0
- package/dist/error-tracker/types.js +3 -0
- package/dist/error-tracker/types.js.map +1 -0
- package/dist/error-tracker/utils.d.ts +12 -0
- package/dist/error-tracker/utils.js +19 -0
- package/dist/error-tracker/utils.js.map +1 -0
- package/dist/http-client/middleware/cookie.d.ts +19 -0
- package/dist/http-client/middleware/cookie.js +62 -0
- package/dist/http-client/middleware/cookie.js.map +1 -0
- package/dist/http-client/middleware/tracing.d.ts +32 -0
- package/dist/http-client/middleware/tracing.js +67 -0
- package/dist/http-client/middleware/tracing.js.map +1 -0
- package/dist/http-client/types.d.ts +6 -0
- package/dist/http-client/types.js +3 -0
- package/dist/http-client/types.js.map +1 -0
- package/dist/http-client/utils.d.ts +36 -0
- package/dist/http-client/utils.js +49 -0
- package/dist/http-client/utils.js.map +1 -0
- package/dist/http-server/constants.d.ts +4 -0
- package/dist/http-server/constants.js +8 -0
- package/dist/http-server/constants.js.map +1 -0
- package/dist/http-server/handler/health-check.d.ts +6 -0
- package/dist/http-server/handler/health-check.js +15 -0
- package/dist/http-server/handler/health-check.js.map +1 -0
- package/dist/http-server/middleware/logging.d.ts +10 -0
- package/dist/http-server/middleware/logging.js +31 -0
- package/dist/http-server/middleware/logging.js.map +1 -0
- package/dist/http-server/middleware/metrics.d.ts +23 -0
- package/dist/http-server/middleware/metrics.js +60 -0
- package/dist/http-server/middleware/metrics.js.map +1 -0
- package/dist/http-server/middleware/tracing.d.ts +8 -0
- package/dist/http-server/middleware/tracing.js +32 -0
- package/dist/http-server/middleware/tracing.js.map +1 -0
- package/dist/http-server/types.d.ts +25 -0
- package/dist/http-server/types.js +3 -0
- package/dist/http-server/types.js.map +1 -0
- package/dist/http-server/utils.d.ts +26 -0
- package/dist/http-server/utils.js +88 -0
- package/dist/http-server/utils.js.map +1 -0
- package/dist/logger/handler/console.d.ts +8 -0
- package/dist/logger/handler/console.js +36 -0
- package/dist/logger/handler/console.js.map +1 -0
- package/dist/logger/handler/sentry.d.ts +8 -0
- package/dist/logger/handler/sentry.js +36 -0
- package/dist/logger/handler/sentry.js.map +1 -0
- package/dist/logger/index.d.ts +6 -0
- package/dist/logger/index.js +31 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/types.d.ts +24 -0
- package/dist/logger/types.js +3 -0
- package/dist/logger/types.js.map +1 -0
- package/dist/metrics/constants.d.ts +4 -0
- package/dist/metrics/constants.js +8 -0
- package/dist/metrics/constants.js.map +1 -0
- package/dist/metrics/node.d.ts +18 -0
- package/dist/metrics/node.js +74 -0
- package/dist/metrics/node.js.map +1 -0
- package/dist/preset/index.d.ts +7 -0
- package/dist/preset/index.js +23 -0
- package/dist/preset/index.js.map +1 -0
- package/dist/preset/node/index.d.ts +15 -0
- package/dist/preset/node/index.js +90 -0
- package/dist/preset/node/index.js.map +1 -0
- package/dist/preset/node/response.d.ts +12 -0
- package/dist/preset/node/response.js +52 -0
- package/dist/preset/node/response.js.map +1 -0
- package/dist/preset/types.d.ts +7 -0
- package/dist/preset/types.js +3 -0
- package/dist/preset/types.js.map +1 -0
- package/dist/saga-runner/index.d.ts +8 -0
- package/dist/saga-runner/index.js +77 -0
- package/dist/saga-runner/index.js.map +1 -0
- package/dist/saga-runner/types.d.ts +10 -0
- package/dist/saga-runner/types.js +3 -0
- package/dist/saga-runner/types.js.map +1 -0
- package/dist/tokens.d.ts +40 -0
- package/dist/tokens.js +43 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tracer/node.d.ts +10 -0
- package/dist/tracer/node.js +38 -0
- package/dist/tracer/node.js.map +1 -0
- package/dist/tracer/types.d.ts +2 -0
- package/dist/tracer/types.js +3 -0
- package/dist/tracer/types.js.map +1 -0
- package/dist/utils/browser/analytics/data-layer.d.ts +5 -0
- package/dist/utils/browser/analytics/data-layer.js +15 -0
- package/dist/utils/browser/analytics/data-layer.js.map +1 -0
- package/{helpers/analytics/index.d.ts → dist/utils/browser/analytics/oko.d.ts} +1 -6
- package/{helpers/analytics/index.js → dist/utils/browser/analytics/oko.js} +11 -20
- package/dist/utils/browser/analytics/oko.js.map +1 -0
- package/dist/utils/browser/storage/index.d.ts +4 -0
- package/dist/utils/browser/storage/index.js +63 -0
- package/dist/utils/browser/storage/index.js.map +1 -0
- package/dist/utils/number.d.ts +6 -0
- package/dist/utils/number.js +13 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/react/error-handlers/index.d.ts +38 -0
- package/dist/utils/react/error-handlers/index.js +47 -0
- package/dist/utils/react/error-handlers/index.js.map +1 -0
- package/dist/utils/redux/remote-data.d.ts +23 -0
- package/dist/utils/redux/remote-data.js +28 -0
- package/dist/utils/redux/remote-data.js.map +1 -0
- package/dist/utils/redux-saga/take-chain.d.ts +24 -0
- package/dist/utils/redux-saga/take-chain.js +56 -0
- package/dist/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/utils/webpack/module-federation/index.d.ts +21 -0
- package/dist/utils/webpack/module-federation/index.js +74 -0
- package/dist/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/utils/webpack/module-federation/types.d.ts +26 -0
- package/dist/utils/webpack/module-federation/types.js +3 -0
- package/dist/utils/webpack/module-federation/types.js.map +1 -0
- package/dist/utils/webpack/module-federation/utils.d.ts +15 -0
- package/dist/utils/webpack/module-federation/utils.js +36 -0
- package/dist/utils/webpack/module-federation/utils.js.map +1 -0
- package/package.json +50 -68
- package/readme.md +23 -0
- package/src/cache/types.ts +7 -0
- package/src/config/browser.ts +10 -0
- package/src/config/index.ts +18 -0
- package/src/config/node.ts +18 -0
- package/src/config/types.ts +9 -0
- package/src/config/utils.ts +7 -0
- package/src/container/application.ts +91 -0
- package/src/container/index.ts +79 -0
- package/src/container/types.ts +17 -0
- package/src/error-tracker/browser.ts +14 -0
- package/src/error-tracker/node.ts +14 -0
- package/src/error-tracker/types.ts +22 -0
- package/src/error-tracker/utils.ts +18 -0
- package/src/http-client/middleware/cookie.ts +73 -0
- package/src/{helpers/api/middlewares/trace-request-middleware.ts → http-client/middleware/tracing.ts} +28 -35
- package/src/http-client/types.ts +8 -0
- package/src/http-client/utils.ts +76 -0
- package/src/http-server/constants.ts +4 -0
- package/src/http-server/handler/health-check.ts +13 -0
- package/src/http-server/middleware/logging.ts +34 -0
- package/src/http-server/middleware/metrics.ts +87 -0
- package/src/http-server/middleware/tracing.ts +35 -0
- package/src/http-server/types.ts +29 -0
- package/src/http-server/utils.ts +105 -0
- package/src/logger/handler/console.ts +35 -0
- package/src/logger/handler/sentry.ts +38 -0
- package/src/logger/index.ts +31 -0
- package/src/logger/types.ts +28 -0
- package/src/metrics/constants.ts +4 -0
- package/src/metrics/node.ts +54 -0
- package/src/preset/index.ts +24 -0
- package/src/preset/node/index.ts +101 -0
- package/src/preset/node/response.ts +57 -0
- package/src/preset/types.ts +9 -0
- package/src/saga-runner/index.ts +59 -0
- package/src/saga-runner/types.ts +13 -0
- package/src/tokens.ts +54 -0
- package/src/tracer/node.ts +40 -0
- package/src/tracer/types.ts +3 -0
- package/src/utils/browser/analytics/__test__/data-layer.test.ts +50 -0
- package/src/utils/browser/analytics/__test__/oko.test.tsx +143 -0
- package/src/utils/browser/analytics/data-layer.ts +12 -0
- package/src/{helpers/analytics/index.ts → utils/browser/analytics/oko.ts} +10 -15
- package/src/utils/browser/storage/index.ts +75 -0
- package/src/utils/number.ts +8 -0
- package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +27 -0
- package/src/utils/react/error-handlers/__test__/index.test.tsx +64 -0
- package/src/utils/react/error-handlers/index.tsx +62 -0
- package/src/utils/redux/__test__/remote-data.test.ts +50 -0
- package/src/utils/redux/remote-data.ts +34 -0
- package/src/utils/redux-saga/__test__/take-chain.test.ts +141 -0
- package/src/utils/redux-saga/take-chain.ts +65 -0
- package/src/utils/webpack/module-federation/__test__/index.test.ts +246 -0
- package/src/utils/webpack/module-federation/index.ts +92 -0
- package/src/utils/webpack/module-federation/types.ts +44 -0
- package/src/utils/webpack/module-federation/utils.ts +43 -0
- package/cache/helpers.d.ts +0 -4
- package/cache/helpers.js +0 -39
- package/cache/helpers.js.map +0 -1
- package/cache/local-storage.d.ts +0 -34
- package/cache/local-storage.js +0 -90
- package/cache/local-storage.js.map +0 -1
- package/cache/redis.d.ts +0 -10
- package/cache/redis.js +0 -54
- package/cache/redis.js.map +0 -1
- package/cache/wrap-in-trace.d.ts +0 -8
- package/cache/wrap-in-trace.js +0 -68
- package/cache/wrap-in-trace.js.map +0 -1
- package/config/create.d.ts +0 -8
- package/config/create.js +0 -32
- package/config/create.js.map +0 -1
- package/config/helpers.d.ts +0 -11
- package/config/helpers.js +0 -71
- package/config/helpers.js.map +0 -1
- package/config/validate.d.ts +0 -18
- package/config/validate.js +0 -107
- package/config/validate.js.map +0 -1
- package/container/create-inject.d.ts +0 -7
- package/container/create-inject.js +0 -36
- package/container/create-inject.js.map +0 -1
- package/container/get-dependencies.d.ts +0 -13
- package/container/get-dependencies.js +0 -54
- package/container/get-dependencies.js.map +0 -1
- package/container/index.d.ts +0 -15
- package/container/index.js +0 -175
- package/container/index.js.map +0 -1
- package/container/is-container.d.ts +0 -7
- package/container/is-container.js +0 -17
- package/container/is-container.js.map +0 -1
- package/container/service-not-found-error.d.ts +0 -10
- package/container/service-not-found-error.js +0 -18
- package/container/service-not-found-error.js.map +0 -1
- package/create-proxy/create-proxy-middleware/index.d.ts +0 -16
- package/create-proxy/create-proxy-middleware/index.js +0 -47
- package/create-proxy/create-proxy-middleware/index.js.map +0 -1
- package/create-proxy/index.d.ts +0 -12
- package/create-proxy/index.js +0 -25
- package/create-proxy/index.js.map +0 -1
- package/create-response-sender/index.d.ts +0 -8
- package/create-response-sender/index.js +0 -42
- package/create-response-sender/index.js.map +0 -1
- package/get-dynamic-data/index.d.ts +0 -8
- package/get-dynamic-data/index.js +0 -23
- package/get-dynamic-data/index.js.map +0 -1
- package/graceful-shutdown/index.d.ts +0 -26
- package/graceful-shutdown/index.js +0 -87
- package/graceful-shutdown/index.js.map +0 -1
- package/helpers/add-error-handling/index.d.ts +0 -1
- package/helpers/add-error-handling/index.js +0 -42
- package/helpers/add-error-handling/index.js.map +0 -1
- package/helpers/analytics/index.js.map +0 -1
- package/helpers/api/create-enhancer.d.ts +0 -12
- package/helpers/api/create-enhancer.js +0 -52
- package/helpers/api/create-enhancer.js.map +0 -1
- package/helpers/api/create-instance.d.ts +0 -11
- package/helpers/api/create-instance.js +0 -39
- package/helpers/api/create-instance.js.map +0 -1
- package/helpers/api/middlewares/collect-cookie-middleware.d.ts +0 -10
- package/helpers/api/middlewares/collect-cookie-middleware.js +0 -39
- package/helpers/api/middlewares/collect-cookie-middleware.js.map +0 -1
- package/helpers/api/middlewares/count-api-response-time.d.ts +0 -12
- package/helpers/api/middlewares/count-api-response-time.js +0 -39
- package/helpers/api/middlewares/count-api-response-time.js.map +0 -1
- package/helpers/api/middlewares/error-handlers-middlewares.d.ts +0 -5
- package/helpers/api/middlewares/error-handlers-middlewares.js +0 -114
- package/helpers/api/middlewares/error-handlers-middlewares.js.map +0 -1
- package/helpers/api/middlewares/helpers.d.ts +0 -11
- package/helpers/api/middlewares/helpers.js +0 -27
- package/helpers/api/middlewares/helpers.js.map +0 -1
- package/helpers/api/middlewares/pass-headers-middleware.d.ts +0 -3
- package/helpers/api/middlewares/pass-headers-middleware.js +0 -27
- package/helpers/api/middlewares/pass-headers-middleware.js.map +0 -1
- package/helpers/api/middlewares/prepare-request-headers.d.ts +0 -5
- package/helpers/api/middlewares/prepare-request-headers.js +0 -20
- package/helpers/api/middlewares/prepare-request-headers.js.map +0 -1
- package/helpers/api/middlewares/set-http-agents-middleware.d.ts +0 -15
- package/helpers/api/middlewares/set-http-agents-middleware.js +0 -34
- package/helpers/api/middlewares/set-http-agents-middleware.js.map +0 -1
- package/helpers/api/middlewares/stages-trace-middleware.d.ts +0 -17
- package/helpers/api/middlewares/stages-trace-middleware.js +0 -57
- package/helpers/api/middlewares/stages-trace-middleware.js.map +0 -1
- package/helpers/api/middlewares/trace-request-middleware.d.ts +0 -24
- package/helpers/api/middlewares/trace-request-middleware.js +0 -69
- package/helpers/api/middlewares/trace-request-middleware.js.map +0 -1
- package/helpers/api/server-adapter/__fixtures__/fake-keys.d.ts +0 -10
- package/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -61
- package/helpers/api/server-adapter/__fixtures__/fake-keys.js.map +0 -1
- package/helpers/api/server-adapter/constants.d.ts +0 -5
- package/helpers/api/server-adapter/constants.js +0 -16
- package/helpers/api/server-adapter/constants.js.map +0 -1
- package/helpers/api/server-adapter/helpers.d.ts +0 -26
- package/helpers/api/server-adapter/helpers.js +0 -208
- package/helpers/api/server-adapter/helpers.js.map +0 -1
- package/helpers/api/server-adapter/index.d.ts +0 -10
- package/helpers/api/server-adapter/index.js +0 -118
- package/helpers/api/server-adapter/index.js.map +0 -1
- package/helpers/development/use-dot-env.d.ts +0 -6
- package/helpers/development/use-dot-env.js +0 -11
- package/helpers/development/use-dot-env.js.map +0 -1
- package/helpers/get-params/index.d.ts +0 -4
- package/helpers/get-params/index.js +0 -51
- package/helpers/get-params/index.js.map +0 -1
- package/helpers/http/request-getters.d.ts +0 -5
- package/helpers/http/request-getters.js +0 -49
- package/helpers/http/request-getters.js.map +0 -1
- package/helpers/http/statuses-validator.d.ts +0 -3
- package/helpers/http/statuses-validator.js +0 -25
- package/helpers/http/statuses-validator.js.map +0 -1
- package/helpers/logger/create-pino-instance/index.d.ts +0 -6
- package/helpers/logger/create-pino-instance/index.js +0 -39
- package/helpers/logger/create-pino-instance/index.js.map +0 -1
- package/helpers/logger/format-time/index.d.ts +0 -6
- package/helpers/logger/format-time/index.js +0 -9
- package/helpers/logger/format-time/index.js.map +0 -1
- package/helpers/metrics/index.d.ts +0 -23
- package/helpers/metrics/index.js +0 -42
- package/helpers/metrics/index.js.map +0 -1
- package/helpers/prometheus/index.d.ts +0 -4
- package/helpers/prometheus/index.js +0 -13
- package/helpers/prometheus/index.js.map +0 -1
- package/helpers/prometheus/measure-middleware.d.ts +0 -5
- package/helpers/prometheus/measure-middleware.js +0 -69
- package/helpers/prometheus/measure-middleware.js.map +0 -1
- package/helpers/prometheus/metric-adapter.d.ts +0 -36
- package/helpers/prometheus/metric-adapter.js +0 -98
- package/helpers/prometheus/metric-adapter.js.map +0 -1
- package/helpers/react/error-handlers/index.d.ts +0 -40
- package/helpers/react/error-handlers/index.js +0 -52
- package/helpers/react/error-handlers/index.js.map +0 -1
- package/helpers/redux/constants.d.ts +0 -5
- package/helpers/redux/constants.js +0 -14
- package/helpers/redux/constants.js.map +0 -1
- package/helpers/redux/create-compose-middleware.d.ts +0 -15
- package/helpers/redux/create-compose-middleware.js +0 -23
- package/helpers/redux/create-compose-middleware.js.map +0 -1
- package/helpers/redux/get-dev-compose-creator.d.ts +0 -6
- package/helpers/redux/get-dev-compose-creator.js +0 -13
- package/helpers/redux/get-dev-compose-creator.js.map +0 -1
- package/helpers/redux/prepare-on-ready.d.ts +0 -9
- package/helpers/redux/prepare-on-ready.js +0 -16
- package/helpers/redux/prepare-on-ready.js.map +0 -1
- package/helpers/redux/remote-data.d.ts +0 -40
- package/helpers/redux/remote-data.js +0 -91
- package/helpers/redux/remote-data.js.map +0 -1
- package/helpers/redux/selector/statuses.d.ts +0 -23
- package/helpers/redux/selector/statuses.js +0 -34
- package/helpers/redux/selector/statuses.js.map +0 -1
- package/helpers/redux/wait-on-store-readiness.d.ts +0 -11
- package/helpers/redux/wait-on-store-readiness.js +0 -29
- package/helpers/redux/wait-on-store-readiness.js.map +0 -1
- package/helpers/render/get-react-markup-data.d.ts +0 -14
- package/helpers/render/get-react-markup-data.js +0 -20
- package/helpers/render/get-react-markup-data.js.map +0 -1
- package/helpers/render/index.d.ts +0 -21
- package/helpers/render/index.js +0 -72
- package/helpers/render/index.js.map +0 -1
- package/helpers/render/render-app.d.ts +0 -12
- package/helpers/render/render-app.js +0 -12
- package/helpers/render/render-app.js.map +0 -1
- package/helpers/saga/__fixtures__/do-safe-request.d.ts +0 -43
- package/helpers/saga/__fixtures__/do-safe-request.js +0 -50
- package/helpers/saga/__fixtures__/do-safe-request.js.map +0 -1
- package/helpers/saga/cache-result.d.ts +0 -46
- package/helpers/saga/cache-result.js +0 -71
- package/helpers/saga/cache-result.js.map +0 -1
- package/helpers/saga/create-store.d.ts +0 -20
- package/helpers/saga/create-store.js +0 -106
- package/helpers/saga/create-store.js.map +0 -1
- package/helpers/saga/do-safe-request.d.ts +0 -38
- package/helpers/saga/do-safe-request.js +0 -45
- package/helpers/saga/do-safe-request.js.map +0 -1
- package/helpers/saga/safe-request.d.ts +0 -7
- package/helpers/saga/safe-request.js +0 -15
- package/helpers/saga/safe-request.js.map +0 -1
- package/helpers/saga/take-chain.d.ts +0 -20
- package/helpers/saga/take-chain.js +0 -56
- package/helpers/saga/take-chain.js.map +0 -1
- package/helpers/tracer/create-child-tracing-middleware.d.ts +0 -7
- package/helpers/tracer/create-child-tracing-middleware.js +0 -40
- package/helpers/tracer/create-child-tracing-middleware.js.map +0 -1
- package/helpers/tracer/index.d.ts +0 -24
- package/helpers/tracer/index.js +0 -144
- package/helpers/tracer/index.js.map +0 -1
- package/helpers/utils/check-feature-by-segment.d.ts +0 -2
- package/helpers/utils/check-feature-by-segment.js +0 -31
- package/helpers/utils/check-feature-by-segment.js.map +0 -1
- package/helpers/utils/format-object-keys.d.ts +0 -6
- package/helpers/utils/format-object-keys.js +0 -27
- package/helpers/utils/format-object-keys.js.map +0 -1
- package/helpers/utils/get-ms-from-hrt.d.ts +0 -2
- package/helpers/utils/get-ms-from-hrt.js +0 -22
- package/helpers/utils/get-ms-from-hrt.js.map +0 -1
- package/helpers/utils/is-match-pattern-list.d.ts +0 -8
- package/helpers/utils/is-match-pattern-list.js +0 -16
- package/helpers/utils/is-match-pattern-list.js.map +0 -1
- package/helpers/utils/is-not-empty-array.d.ts +0 -2
- package/helpers/utils/is-not-empty-array.js +0 -12
- package/helpers/utils/is-not-empty-array.js.map +0 -1
- package/helpers/utils/is-not-empty-string.d.ts +0 -2
- package/helpers/utils/is-not-empty-string.js +0 -15
- package/helpers/utils/is-not-empty-string.js.map +0 -1
- package/helpers/utils/is-numeric.d.ts +0 -7
- package/helpers/utils/is-numeric.js +0 -16
- package/helpers/utils/is-numeric.js.map +0 -1
- package/helpers/utils/wrap-in-measure-event.d.ts +0 -9
- package/helpers/utils/wrap-in-measure-event.js +0 -50
- package/helpers/utils/wrap-in-measure-event.js.map +0 -1
- package/logger/create-logger-middleware/index.d.ts +0 -14
- package/logger/create-logger-middleware/index.js +0 -41
- package/logger/create-logger-middleware/index.js.map +0 -1
- package/logger/create-sentry-instance/index.d.ts +0 -29
- package/logger/create-sentry-instance/index.js +0 -63
- package/logger/create-sentry-instance/index.js.map +0 -1
- package/logger/create-sentry-middleware/index.d.ts +0 -14
- package/logger/create-sentry-middleware/index.js +0 -19
- package/logger/create-sentry-middleware/index.js.map +0 -1
- package/logger/handler-creators/index.d.ts +0 -5
- package/logger/handler-creators/index.js +0 -41
- package/logger/handler-creators/index.js.map +0 -1
- package/logger/initialize-sentry-creator/index.d.ts +0 -17
- package/logger/initialize-sentry-creator/index.js +0 -35
- package/logger/initialize-sentry-creator/index.js.map +0 -1
- package/logger/sentry-logger/index.d.ts +0 -9
- package/logger/sentry-logger/index.js +0 -36
- package/logger/sentry-logger/index.js.map +0 -1
- package/module-federation/__example__/webpack-config.example.d.ts +0 -366
- package/module-federation/__example__/webpack-config.example.js +0 -51
- package/module-federation/__example__/webpack-config.example.js.map +0 -1
- package/module-federation/enhanced-module-federation-plugin.d.ts +0 -46
- package/module-federation/enhanced-module-federation-plugin.js +0 -72
- package/module-federation/enhanced-module-federation-plugin.js.map +0 -1
- package/module-federation/utils/index.d.ts +0 -8
- package/module-federation/utils/index.js +0 -28
- package/module-federation/utils/index.js.map +0 -1
- package/observe-middleware/index.d.ts +0 -9
- package/observe-middleware/index.js +0 -67
- package/observe-middleware/index.js.map +0 -1
- package/set-header-middleware/create.d.ts +0 -10
- package/set-header-middleware/create.js +0 -16
- package/set-header-middleware/create.js.map +0 -1
- package/src/cache/helpers.js +0 -32
- package/src/cache/local-storage.ts +0 -92
- package/src/cache/redis.js +0 -79
- package/src/cache/wrap-in-trace.js +0 -57
- package/src/config/create.js +0 -33
- package/src/config/helpers.js +0 -71
- package/src/config/validate.js +0 -114
- package/src/container/create-inject.js +0 -32
- package/src/container/get-dependencies.js +0 -46
- package/src/container/index.js +0 -188
- package/src/container/is-container.js +0 -14
- package/src/container/service-not-found-error.js +0 -14
- package/src/create-proxy/create-proxy-middleware/index.js +0 -47
- package/src/create-proxy/index.js +0 -27
- package/src/create-response-sender/index.js +0 -48
- package/src/get-dynamic-data/index.js +0 -26
- package/src/graceful-shutdown/index.js +0 -97
- package/src/helpers/add-error-handling/index.js +0 -24
- package/src/helpers/api/create-enhancer.js +0 -52
- package/src/helpers/api/create-instance.js +0 -42
- package/src/helpers/api/middlewares/collect-cookie-middleware.js +0 -27
- package/src/helpers/api/middlewares/count-api-response-time.js +0 -31
- package/src/helpers/api/middlewares/error-handlers-middlewares.js +0 -124
- package/src/helpers/api/middlewares/helpers.js +0 -26
- package/src/helpers/api/middlewares/pass-headers-middleware.js +0 -19
- package/src/helpers/api/middlewares/prepare-request-headers.js +0 -18
- package/src/helpers/api/middlewares/set-http-agents-middleware.js +0 -22
- package/src/helpers/api/middlewares/stages-trace-middleware.js +0 -46
- package/src/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -58
- package/src/helpers/api/server-adapter/constants.js +0 -12
- package/src/helpers/api/server-adapter/helpers.js +0 -244
- package/src/helpers/api/server-adapter/index.js +0 -155
- package/src/helpers/development/use-dot-env.js +0 -9
- package/src/helpers/get-params/index.js +0 -59
- package/src/helpers/http/request-getters.js +0 -42
- package/src/helpers/http/statuses-validator.js +0 -20
- package/src/helpers/logger/create-pino-instance/index.js +0 -41
- package/src/helpers/logger/format-time/index.js +0 -6
- package/src/helpers/metrics/index.js +0 -40
- package/src/helpers/prometheus/index.js +0 -9
- package/src/helpers/prometheus/measure-middleware.js +0 -73
- package/src/helpers/prometheus/metric-adapter.js +0 -99
- package/src/helpers/react/error-handlers/index.tsx +0 -68
- package/src/helpers/redux/constants.js +0 -10
- package/src/helpers/redux/create-compose-middleware.js +0 -24
- package/src/helpers/redux/get-dev-compose-creator.js +0 -9
- package/src/helpers/redux/prepare-on-ready.js +0 -16
- package/src/helpers/redux/remote-data.js +0 -124
- package/src/helpers/redux/selector/statuses.js +0 -30
- package/src/helpers/redux/wait-on-store-readiness.js +0 -40
- package/src/helpers/render/get-react-markup-data.js +0 -18
- package/src/helpers/render/index.js +0 -69
- package/src/helpers/render/render-app.js +0 -15
- package/src/helpers/saga/__fixtures__/do-safe-request.js +0 -49
- package/src/helpers/saga/cache-result.js +0 -77
- package/src/helpers/saga/create-store.js +0 -102
- package/src/helpers/saga/do-safe-request.js +0 -47
- package/src/helpers/saga/safe-request.js +0 -11
- package/src/helpers/saga/take-chain.js +0 -53
- package/src/helpers/tracer/create-child-tracing-middleware.js +0 -42
- package/src/helpers/tracer/index.js +0 -171
- package/src/helpers/utils/check-feature-by-segment.js +0 -32
- package/src/helpers/utils/format-object-keys.js +0 -23
- package/src/helpers/utils/get-ms-from-hrt.js +0 -16
- package/src/helpers/utils/is-match-pattern-list.js +0 -13
- package/src/helpers/utils/is-not-empty-array.js +0 -8
- package/src/helpers/utils/is-not-empty-string.js +0 -11
- package/src/helpers/utils/is-numeric.ts +0 -12
- package/src/helpers/utils/wrap-in-measure-event.js +0 -35
- package/src/logger/create-logger-middleware/index.js +0 -46
- package/src/logger/create-sentry-instance/index.js +0 -74
- package/src/logger/create-sentry-middleware/index.js +0 -16
- package/src/logger/handler-creators/index.js +0 -38
- package/src/logger/initialize-sentry-creator/index.js +0 -43
- package/src/logger/sentry-logger/index.js +0 -33
- package/src/module-federation/__example__/webpack-config.example.js +0 -57
- package/src/module-federation/enhanced-module-federation-plugin.js +0 -92
- package/src/module-federation/utils/index.js +0 -32
- package/src/observe-middleware/index.js +0 -70
- package/src/set-header-middleware/create.js +0 -17
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.prepareRequestHeaders = void 0;
|
|
7
|
-
const omit_1 = __importDefault(require("lodash/omit"));
|
|
8
|
-
const request_getters_1 = require("../../http/request-getters");
|
|
9
|
-
const helpers_1 = require("./helpers");
|
|
10
|
-
/**
|
|
11
|
-
* Формирует объект заголовков из конфигурации приложения и запроса к приложению.
|
|
12
|
-
* @param {Object} options Опции сервиса.
|
|
13
|
-
* @param {Object} options.config Конфигурация приложения.
|
|
14
|
-
* @param {import('http').IncomingMessage} options.request Запрос приложения.
|
|
15
|
-
* @param {string|string[]} options.exclude Заголовки, которые требуется исключить из итогового списка.
|
|
16
|
-
* @return {Object} Заголовки.
|
|
17
|
-
*/
|
|
18
|
-
const prepareRequestHeaders = ({ config, request, exclude = [] }) => omit_1.default(Object.assign({ 'X-Client-Ip': request_getters_1.getXClientIp({ request }), 'User-Agent': helpers_1.getServiceUserAgent(config), Cookie: request_getters_1.getCookie(request) }, helpers_1.getServiceHeaders(request)), exclude);
|
|
19
|
-
exports.prepareRequestHeaders = prepareRequestHeaders;
|
|
20
|
-
//# sourceMappingURL=prepare-request-headers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-request-headers.js","sourceRoot":"","sources":["../../../../src/helpers/api/middlewares/prepare-request-headers.js"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAC/B,gEAAqE;AACrE,uCAAmE;AAEnE;;;;;;;GAOG;AACI,MAAM,qBAAqB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,cAAI,iBAC9E,aAAa,EAAE,8BAAY,CAAC,EAAE,OAAO,EAAE,CAAC,EACxC,YAAY,EAAE,6BAAmB,CAAC,MAAM,CAAC,EACzC,MAAM,EAAE,2BAAS,CAAC,OAAO,CAAC,IACvB,2BAAiB,CAAC,OAAO,CAAC,GAC5B,OAAO,CAAC,CAAC;AALC,QAAA,qBAAqB,yBAKtB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
export default createSetHttpAgentsMiddleware;
|
|
3
|
-
/**
|
|
4
|
-
* Добавляет в конфигурацию запроса опции httpAgent и httpsAgent.
|
|
5
|
-
* @param {Object} options Параметры для создания middleware.
|
|
6
|
-
* @param {https.Agent} options.httpsAgent Кастомизированный экземпляр https.Agent.
|
|
7
|
-
* @param {http.Agent} options.httpAgent Кастомизированный экземпляр http.Agent.
|
|
8
|
-
* @return {function(Object, Function):Promise} Middleware для использования в API.
|
|
9
|
-
*/
|
|
10
|
-
declare function createSetHttpAgentsMiddleware({ httpsAgent, httpAgent }: {
|
|
11
|
-
httpsAgent: https.Agent;
|
|
12
|
-
httpAgent: http.Agent;
|
|
13
|
-
}): (arg0: Object, arg1: Function) => Promise<any>;
|
|
14
|
-
import https from "https";
|
|
15
|
-
import http from "http";
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const http_1 = __importDefault(require("http"));
|
|
16
|
-
const https_1 = __importDefault(require("https"));
|
|
17
|
-
/**
|
|
18
|
-
* Добавляет в конфигурацию запроса опции httpAgent и httpsAgent.
|
|
19
|
-
* @param {Object} options Параметры для создания middleware.
|
|
20
|
-
* @param {https.Agent} options.httpsAgent Кастомизированный экземпляр https.Agent.
|
|
21
|
-
* @param {http.Agent} options.httpAgent Кастомизированный экземпляр http.Agent.
|
|
22
|
-
* @return {function(Object, Function):Promise} Middleware для использования в API.
|
|
23
|
-
*/
|
|
24
|
-
const createSetHttpAgentsMiddleware = ({ httpsAgent, httpAgent }) => (requestConfig, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
-
if (httpAgent instanceof http_1.default.Agent) {
|
|
26
|
-
requestConfig.httpAgent = httpAgent;
|
|
27
|
-
}
|
|
28
|
-
if (httpsAgent instanceof https_1.default.Agent) {
|
|
29
|
-
requestConfig.httpsAgent = httpsAgent;
|
|
30
|
-
}
|
|
31
|
-
yield next(requestConfig);
|
|
32
|
-
});
|
|
33
|
-
exports.default = createSetHttpAgentsMiddleware;
|
|
34
|
-
//# sourceMappingURL=set-http-agents-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"set-http-agents-middleware.js","sourceRoot":"","sources":["../../../../src/helpers/api/middlewares/set-http-agents-middleware.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,kDAA0B;AAE1B;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAG,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAClE,CAAO,aAAa,EAAE,IAAI,EAAE,EAAE;IAC5B,IAAI,SAAS,YAAY,cAAI,CAAC,KAAK,EAAE;QACnC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;KACrC;IACD,IAAI,UAAU,YAAY,eAAK,CAAC,KAAK,EAAE;QACrC,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;KACvC;IACD,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5B,CAAC,CAAA,CAAC;AAEJ,kBAAe,6BAA6B,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/**
|
|
3
|
-
* Класс, наследующий от EventEmitter.
|
|
4
|
-
*/
|
|
5
|
-
export class StageRequestEmitter extends EventEmitter {
|
|
6
|
-
}
|
|
7
|
-
export default createStagesTraceRequestMiddleware;
|
|
8
|
-
import EventEmitter from "events";
|
|
9
|
-
/**
|
|
10
|
-
* Создаёт middleware для трассировки этапов запроса в API.
|
|
11
|
-
* @param {Object} options Параметры для создания middleware.
|
|
12
|
-
* @param {Object} options.tracer Объект трейсера.
|
|
13
|
-
* @return {function(Object, Function): Promise} Middleware для трассироваки запросов в API.
|
|
14
|
-
*/
|
|
15
|
-
declare function createStagesTraceRequestMiddleware({ tracer }: {
|
|
16
|
-
tracer: Object;
|
|
17
|
-
}): (arg0: Object, arg1: Function) => Promise<any>;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.StageRequestEmitter = void 0;
|
|
16
|
-
const events_1 = __importDefault(require("events"));
|
|
17
|
-
const constants_1 = require("../server-adapter/constants");
|
|
18
|
-
const opentracing_1 = require("opentracing");
|
|
19
|
-
/**
|
|
20
|
-
* Класс, наследующий от EventEmitter.
|
|
21
|
-
*/
|
|
22
|
-
class StageRequestEmitter extends events_1.default {
|
|
23
|
-
}
|
|
24
|
-
exports.StageRequestEmitter = StageRequestEmitter;
|
|
25
|
-
/**
|
|
26
|
-
* Создаёт middleware для трассировки этапов запроса в API.
|
|
27
|
-
* @param {Object} options Параметры для создания middleware.
|
|
28
|
-
* @param {Object} options.tracer Объект трейсера.
|
|
29
|
-
* @return {function(Object, Function): Promise} Middleware для трассироваки запросов в API.
|
|
30
|
-
*/
|
|
31
|
-
const createStagesTraceRequestMiddleware = ({ tracer }) =>
|
|
32
|
-
/**
|
|
33
|
-
* Middleware для трассировки этапов запроса в API.
|
|
34
|
-
* @param {Object} requestConfig Параметры для создания middleware.
|
|
35
|
-
* @param {Function} next Функция для получения данных.
|
|
36
|
-
* @return {Promise} Promise.
|
|
37
|
-
*/
|
|
38
|
-
(requestConfig, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
-
const parentSpanContext = tracer.extract(opentracing_1.FORMAT_HTTP_HEADERS, requestConfig.headers);
|
|
40
|
-
const emitter = new StageRequestEmitter();
|
|
41
|
-
let currentSpan;
|
|
42
|
-
Object.values(constants_1.REQUEST_STAGES).map(stage => emitter.on(stage, () => {
|
|
43
|
-
if (currentSpan) {
|
|
44
|
-
currentSpan
|
|
45
|
-
.setOperationName(stage.replace('finish:', ''))
|
|
46
|
-
.finish();
|
|
47
|
-
}
|
|
48
|
-
if (stage !== constants_1.REQUEST_STAGES.end) {
|
|
49
|
-
currentSpan = tracer.startSpan('', { childOf: parentSpanContext });
|
|
50
|
-
}
|
|
51
|
-
}));
|
|
52
|
-
requestConfig.emitter = emitter;
|
|
53
|
-
yield next(requestConfig);
|
|
54
|
-
emitter.removeAllListeners();
|
|
55
|
-
});
|
|
56
|
-
exports.default = createStagesTraceRequestMiddleware;
|
|
57
|
-
//# sourceMappingURL=stages-trace-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stages-trace-middleware.js","sourceRoot":"","sources":["../../../../src/helpers/api/middlewares/stages-trace-middleware.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,2DAA6D;AAC7D,6CAAkD;AAElD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,gBAAY;CAAG;AAAxD,kDAAwD;AAExD;;;;;GAKG;AACH,MAAM,kCAAkC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;AAExD;;;;;GAKG;AACH,CAAO,aAAa,EAAE,IAAI,EAAE,EAAE;IAC5B,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,iCAAmB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAE1C,IAAI,WAAW,CAAC;IAChB,MAAM,CAAC,MAAM,CAAC,0BAAc,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QAChE,IAAI,WAAW,EAAE;YACf,WAAW;iBACR,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC9C,MAAM,EAAE,CAAC;SACb;QACD,IAAI,KAAK,KAAK,0BAAc,CAAC,GAAG,EAAE;YAChC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;SACpE;IACH,CAAC,CAAC,CAAC,CAAC;IACJ,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC;IAEhC,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC;IAE1B,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC/B,CAAC,CAAA,CAAC;AAEJ,kBAAe,kCAAkC,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { Middleware } from 'middleware-axios';
|
|
2
|
-
import { Tracer, SpanContext } from 'opentracing';
|
|
3
|
-
/**
|
|
4
|
-
* Создаёт middleware для трассировки запросов в API.
|
|
5
|
-
* @param options Параметры для создания middleware.
|
|
6
|
-
* @param options.tracer Объект трейсера.
|
|
7
|
-
* @param options.context Объект родительского контекста.
|
|
8
|
-
* @return Middleware для трассировки запросов в API.
|
|
9
|
-
*/
|
|
10
|
-
declare const createTraceRequestMiddleware: ({ tracer, context }: {
|
|
11
|
-
tracer: Tracer;
|
|
12
|
-
context: SpanContext;
|
|
13
|
-
}) => Middleware<any>;
|
|
14
|
-
/**
|
|
15
|
-
* Преобразует строку вида:
|
|
16
|
-
* "/api/v2/something/123456/some-bff/123456"
|
|
17
|
-
* в строку вида:
|
|
18
|
-
* "/api/v2/something/{id}/some-bff/123456"
|
|
19
|
-
* и возвращает кортеж с этой строкой и вырезанным числом в случае если оно найдено.
|
|
20
|
-
* @param url Url.
|
|
21
|
-
* @return Кортеж со строкой и результатом поиска числа.
|
|
22
|
-
*/
|
|
23
|
-
export declare const hideFirstId: (url: string) => [string, number | undefined];
|
|
24
|
-
export default createTraceRequestMiddleware;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.hideFirstId = void 0;
|
|
13
|
-
const opentracing_1 = require("opentracing");
|
|
14
|
-
/**
|
|
15
|
-
* Создаёт middleware для трассировки запросов в API.
|
|
16
|
-
* @param options Параметры для создания middleware.
|
|
17
|
-
* @param options.tracer Объект трейсера.
|
|
18
|
-
* @param options.context Объект родительского контекста.
|
|
19
|
-
* @return Middleware для трассировки запросов в API.
|
|
20
|
-
*/
|
|
21
|
-
const createTraceRequestMiddleware = ({ tracer, context }) => function (config, next, defaults) {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const { method, url, foundId } = getRequestInfo(config, defaults);
|
|
24
|
-
const span = tracer.startSpan(`HTTP ${method} ${url}`, {
|
|
25
|
-
childOf: context,
|
|
26
|
-
});
|
|
27
|
-
if (!config.headers) {
|
|
28
|
-
config.headers = {};
|
|
29
|
-
}
|
|
30
|
-
span.addTags(Object.assign({ [opentracing_1.Tags.HTTP_URL]: url, [opentracing_1.Tags.HTTP_METHOD]: method, 'request.params': Object.assign({}, config.params), 'request.headers': Object.assign({}, config.headers) }, (foundId && { 'request.id': foundId })));
|
|
31
|
-
tracer.inject(span, opentracing_1.FORMAT_HTTP_HEADERS, config.headers);
|
|
32
|
-
const response = yield next(config);
|
|
33
|
-
span.setTag(opentracing_1.Tags.HTTP_STATUS_CODE, response.status);
|
|
34
|
-
span.finish();
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Формирует базовые данные запроса.
|
|
39
|
-
* Заменяет первое найденное число в url на "{id}", возвращая его в результате.
|
|
40
|
-
* @param config Axios-конфиг запроса.
|
|
41
|
-
* @param defaults Базовый конфиг экземпляра Axios.
|
|
42
|
-
* @return Базовые данные запроса.
|
|
43
|
-
*/
|
|
44
|
-
const getRequestInfo = (config, defaults) => {
|
|
45
|
-
const method = (config.method || 'GET').toUpperCase();
|
|
46
|
-
const baseURL = config.baseURL || defaults.baseURL || '';
|
|
47
|
-
// ВАЖНО: абстрагируем id только в url игнорируя baseURL
|
|
48
|
-
const [url, foundId] = exports.hideFirstId(config.url || defaults.url || '');
|
|
49
|
-
const readyUrl = `${baseURL}${url}`;
|
|
50
|
-
return { method, url: readyUrl, foundId };
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Преобразует строку вида:
|
|
54
|
-
* "/api/v2/something/123456/some-bff/123456"
|
|
55
|
-
* в строку вида:
|
|
56
|
-
* "/api/v2/something/{id}/some-bff/123456"
|
|
57
|
-
* и возвращает кортеж с этой строкой и вырезанным числом в случае если оно найдено.
|
|
58
|
-
* @param url Url.
|
|
59
|
-
* @return Кортеж со строкой и результатом поиска числа.
|
|
60
|
-
*/
|
|
61
|
-
const hideFirstId = (url) => {
|
|
62
|
-
const found = /\d{2,}/.exec(url);
|
|
63
|
-
return found
|
|
64
|
-
? [url.replace(found[0], '{id}'), Number(found[0])]
|
|
65
|
-
: [url, undefined];
|
|
66
|
-
};
|
|
67
|
-
exports.hideFirstId = hideFirstId;
|
|
68
|
-
exports.default = createTraceRequestMiddleware;
|
|
69
|
-
//# sourceMappingURL=trace-request-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trace-request-middleware.js","sourceRoot":"","sources":["../../../../src/helpers/api/middlewares/trace-request-middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,6CAA6E;AAE7E;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAGtD,EAAmB,EAAE,CAAC,UAAgB,MAAM,EAAE,IAAI,EAAE,QAAQ;;QACzD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,MAAM,IAAI,GAAG,EAAE,EAAE;YACrD,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACnB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,OAAO,iBACV,CAAC,kBAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EACpB,CAAC,kBAAI,CAAC,WAAW,CAAC,EAAE,MAAM,EAC1B,gBAAgB,oBAAO,MAAM,CAAC,MAAM,GACpC,iBAAiB,oBAAO,MAAM,CAAC,OAAO,KAGnC,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EACzC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iCAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,kBAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;CAAA,CAAC;AAEJ;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CACrB,MAA0B,EAC1B,QAA4B,EAK5B,EAAE;IACF,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAEzD,wDAAwD;IACxD,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,mBAAW,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC;IAEpC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACI,MAAM,WAAW,GAAG,CAAC,GAAW,EAAgC,EAAE;IACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,KAAK;QACV,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB;AAEF,kBAAe,4BAA4B,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fakeKey = exports.fakeCert = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Сертификат TLS для https.
|
|
6
|
-
* @type {string}
|
|
7
|
-
*/
|
|
8
|
-
exports.fakeCert = `-----BEGIN CERTIFICATE-----
|
|
9
|
-
MIIDazCCAlOgAwIBAgIUAufH+Il0B8cP7bvU8PedE9F0b9MwDQYJKoZIhvcNAQEL
|
|
10
|
-
BQAwRTELMAkGA1UEBhMCUlUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
|
11
|
-
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMDAyMTUwNzM5MzRaFw0yMDAz
|
|
12
|
-
MTYwNzM5MzRaMEUxCzAJBgNVBAYTAlJVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
|
13
|
-
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
|
|
14
|
-
AQUAA4IBDwAwggEKAoIBAQDFuY/Pld4KGeLtvbFrnwjjqPHdYiJw6UM6GjEuzAHN
|
|
15
|
-
fLjYjzCxbsae/UO+QyyLlZ0apQKHiznBga8Bc3JNZQ2O9xZ9BTUnJdvfq2ZgyGE8
|
|
16
|
-
9l4EWOd6I3MBLdzby9+NRs/mNSB10OkhOyYwcbjL8aR6QHzT570bg2Ab8mcLkKit
|
|
17
|
-
aPD6Jtk+iOMdRdudKIcv3fvBxKPwYPsvDtpEaSIjysimQKF40uk7yTu1r0liuknE
|
|
18
|
-
CObowqiH1zt+OTCutgpIAo7MuuE8ga7fQlq9IzlgIpgl2W12NjEYDB87jQ3FT7Dn
|
|
19
|
-
qy5uZq4r9b5oQ4tRLgsP/yVLac0vCzwoA8EB2+0bxsiVAgMBAAGjUzBRMB0GA1Ud
|
|
20
|
-
DgQWBBSQYsuIbKB5tOmH2hbLaWKkrfzLEzAfBgNVHSMEGDAWgBSQYsuIbKB5tOmH
|
|
21
|
-
2hbLaWKkrfzLEzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBp
|
|
22
|
-
HzTKEe5F81Mdqeb84/+TeR7H6GTMXE8jl/wIXprkapG7FizRQ/nlGQSYHJ/U9R2w
|
|
23
|
-
lTvnr0logj2f4Hz1WdyRCaE5BMTwSVPlbIPjfXBzvB140jlJpGzr5qbnMkwjymZT
|
|
24
|
-
nRydKP1DdwlYnl6BwgZ7xGCyB2k9bWSfYu9918AXE/AKcan5siHlYWhobP1uVMIl
|
|
25
|
-
JksaKH9nnQ/oZK/KZA1YoTc47ZqIGbNnHHFLuQ7BEClXRL4ixxrLLK2Kjxtd6PXD
|
|
26
|
-
r1LpsSnEDuQ3MzzeKNduPolMdct8ioKJ2OA81ts/cImB4t80TdWujbL/oUXkHbdN
|
|
27
|
-
YyJK3ZaLm/5uzOOHIuSu
|
|
28
|
-
-----END CERTIFICATE-----`;
|
|
29
|
-
/**
|
|
30
|
-
* Ключ TLS для https.
|
|
31
|
-
* @type {string}
|
|
32
|
-
*/
|
|
33
|
-
exports.fakeKey = `-----BEGIN PRIVATE KEY-----
|
|
34
|
-
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDFuY/Pld4KGeLt
|
|
35
|
-
vbFrnwjjqPHdYiJw6UM6GjEuzAHNfLjYjzCxbsae/UO+QyyLlZ0apQKHiznBga8B
|
|
36
|
-
c3JNZQ2O9xZ9BTUnJdvfq2ZgyGE89l4EWOd6I3MBLdzby9+NRs/mNSB10OkhOyYw
|
|
37
|
-
cbjL8aR6QHzT570bg2Ab8mcLkKitaPD6Jtk+iOMdRdudKIcv3fvBxKPwYPsvDtpE
|
|
38
|
-
aSIjysimQKF40uk7yTu1r0liuknECObowqiH1zt+OTCutgpIAo7MuuE8ga7fQlq9
|
|
39
|
-
IzlgIpgl2W12NjEYDB87jQ3FT7Dnqy5uZq4r9b5oQ4tRLgsP/yVLac0vCzwoA8EB
|
|
40
|
-
2+0bxsiVAgMBAAECggEAEYBoW16PpeM+s/6LetQ77DLjHc527/mlyrnQyqyiKDc3
|
|
41
|
-
AWxDSiFdEWunmGrHwZ8/pcEfZTIMrbU18XHvlywvtAzo/637U3jFapn4WO7DtKq2
|
|
42
|
-
Dbp02tnSbzNJDmeQZSf0dRMUyXjxedCLg9Q9IEhGX8/ffL5RfeL2GeMt/dcTJy4v
|
|
43
|
-
4Oo6GXP3YH/Ts+RxsHC9gWg3HukqwEycRYhaBCXSR4GEZE2wqhzkcVf9PxHpzHkT
|
|
44
|
-
ktISa55bEMwhGtQewmXlCqlSiISLHQkJvkP83GOh6k/14jsPrToPasA+hBGNfj9K
|
|
45
|
-
O+6fi4pxxmM8N7DgkLRHm9WQbYq5ZCCCklqkFxVJjQKBgQDxWjyC97U41dgFIoes
|
|
46
|
-
JA++Nb39uyIHyh7s+JQt5miBNvns6KSKLqVql5lPeAa8Mj97orvLQUW/T0ogMTUJ
|
|
47
|
-
JcwKTLF4TNqYMPKupoZk3fnrgGuclTVjjU2hSqrzp7XFP+vLNuktkVg2HoRrgT29
|
|
48
|
-
qgDTQThZZQTTqEtgbIseaeqBXwKBgQDRuYGdeRaeTJVTVgmvAlfAvWuNUBvLNxHh
|
|
49
|
-
0ObCLIiFbF9g8bSd/WeqLyUs1zBQslxIXvnhIO9dPcDGqX3u+SSUzcc//YGYFvAB
|
|
50
|
-
6I1sTNPi+RsEz9bAM6/EpWQkbaaPpwHITz0YXGReou76nRirl0s5zqdbYWKkvk0n
|
|
51
|
-
ZXgQVCe2iwKBgFv20k/lKzx431M1kRTauNT1jWt9Pr5RGe+Z2HyU6wUxeZH4I5oz
|
|
52
|
-
o/w1v8k0JvzW+LGXlI8iU/1NrSUPGvJdYJ4cExOP1Utge1hpQ5RzsKM3z8leYXWJ
|
|
53
|
-
hicLWJB3Ox/p92L7jWY7l60ne7WrDWeTu7TDiUEm6OvtmKspMOlp2l1pAoGBAMG1
|
|
54
|
-
SdadJRsJOVNDwKX4z/yh+FkJiOJl9wpP3ROz9lTmCCKOnXjfuYQjD38fMu0WEM53
|
|
55
|
-
iu05clz40LmtizfSvssCVerwx2YmqX/Zv+Yr//lAhIgpP/0+wDYtXRWYgaNlaewN
|
|
56
|
-
5CxACiSu8XRg7YxvrXezPDjW9jmb279rpT3PvO6JAoGAMN3sEr5Utws14g3BDaIc
|
|
57
|
-
9jHvYKKc05oqRbnfHkJmQBaphfj8DYwIgVrHc63RTadp6eK50gpEMk9cZiw3xu7I
|
|
58
|
-
YQsOyH4x06NoPGelxkhX/rxOXOVtNmCNpMjgxoQJRm3WXNza476l3xDk2BltfTL6
|
|
59
|
-
aawhzRoba6tWmXzyog3whEs=
|
|
60
|
-
-----END PRIVATE KEY-----`;
|
|
61
|
-
//# sourceMappingURL=fake-keys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fake-keys.js","sourceRoot":"","sources":["../../../../../src/helpers/api/server-adapter/__fixtures__/fake-keys.js"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;0BAoBE,CAAC;AAE3B;;;GAGG;AACU,QAAA,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2BG,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REQUEST_STAGES = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Стадии запроса к API.
|
|
6
|
-
* @type {Object}
|
|
7
|
-
*/
|
|
8
|
-
exports.REQUEST_STAGES = Object.freeze({
|
|
9
|
-
start: 'start:request',
|
|
10
|
-
dnsLookupFinish: 'finish:DNS Lookup',
|
|
11
|
-
tcpConnectionConnect: 'finish:TCP Connection',
|
|
12
|
-
tlsHandshakeFinish: 'finish:TLS Handshake',
|
|
13
|
-
firstByteReceived: 'finish:Time to First Byte',
|
|
14
|
-
end: 'finish:Data Loading',
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/helpers/api/server-adapter/constants.js"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,eAAe;IACtB,eAAe,EAAE,mBAAmB;IACpC,oBAAoB,EAAE,uBAAuB;IAC7C,kBAAkB,EAAE,sBAAsB;IAC1C,iBAAiB,EAAE,2BAA2B;IAC9C,GAAG,EAAE,qBAAqB;CAC3B,CAAC,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Проверяет, что переданный аргумент поддерживает метод экземпляра Stream.
|
|
3
|
-
*/
|
|
4
|
-
export const isStream: (object: any) => boolean;
|
|
5
|
-
/**
|
|
6
|
-
* Проверяет, что переданный аргумент поддерживает метод экземпляра EventEmitter.
|
|
7
|
-
*/
|
|
8
|
-
export const isEventEmitter: (object: any) => boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Проверяет, что переданный аргумент соответствует протоколу `https`.
|
|
11
|
-
*/
|
|
12
|
-
export const isHttps: import("lodash/fp").LodashEq1x1;
|
|
13
|
-
export function prepareDataBuffer(data: Buffer | ArrayBuffer | string): Buffer | undefined;
|
|
14
|
-
export function createConcatURL(input: string, base: string): URL;
|
|
15
|
-
export function createTransport({ url, baseURL, transport, maxRedirects, }: {
|
|
16
|
-
url: string;
|
|
17
|
-
baseURL: string;
|
|
18
|
-
transport: Object;
|
|
19
|
-
maxRedirects: number;
|
|
20
|
-
}): Object;
|
|
21
|
-
export function buildRequestPath(url: URL, params?: string | Object | URLSearchParams | undefined, paramsSerializer?: Function | undefined): string;
|
|
22
|
-
export function createOptions({ url, baseURL, method, headers, httpAgent, httpsAgent, params, paramsSerializer, maxRedirects, maxContentLength, }: Object): Object;
|
|
23
|
-
export function uncompressResponse(response: import('stream').Readable): import('stream').Readable;
|
|
24
|
-
export function enhanceError(error: Error, config: Object, code: string, request: import('http').ClientRequest, response: import('http').IncomingMessage): Error;
|
|
25
|
-
export function createError(message: string, ...rest: any[]): Error;
|
|
26
|
-
export function settle(resolve: Function, reject: Function, response: import('http').IncomingMessage): void;
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.settle = exports.createError = exports.enhanceError = exports.uncompressResponse = exports.createOptions = exports.buildRequestPath = exports.createTransport = exports.createConcatURL = exports.prepareDataBuffer = exports.isHttps = exports.isEventEmitter = exports.isStream = void 0;
|
|
7
|
-
const isArrayBuffer_1 = __importDefault(require("lodash/isArrayBuffer"));
|
|
8
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
9
|
-
const isString_1 = __importDefault(require("lodash/isString"));
|
|
10
|
-
const pipe_1 = __importDefault(require("lodash/fp/pipe"));
|
|
11
|
-
const get_1 = __importDefault(require("lodash/fp/get"));
|
|
12
|
-
const eq_1 = __importDefault(require("lodash/fp/eq"));
|
|
13
|
-
const follow_redirects_1 = require("follow-redirects");
|
|
14
|
-
const http_1 = __importDefault(require("http"));
|
|
15
|
-
const https_1 = __importDefault(require("https"));
|
|
16
|
-
const zlib_1 = __importDefault(require("zlib"));
|
|
17
|
-
/**
|
|
18
|
-
* Проверяет, что переданный аргумент поддерживает метод экземпляра Stream.
|
|
19
|
-
*/
|
|
20
|
-
exports.isStream = pipe_1.default(get_1.default('pipe'), isFunction_1.default);
|
|
21
|
-
/**
|
|
22
|
-
* Проверяет, что переданный аргумент поддерживает метод экземпляра EventEmitter.
|
|
23
|
-
*/
|
|
24
|
-
exports.isEventEmitter = pipe_1.default(get_1.default('emit'), isFunction_1.default);
|
|
25
|
-
/**
|
|
26
|
-
* Проверяет, что переданный аргумент соответствует протоколу `https`.
|
|
27
|
-
*/
|
|
28
|
-
exports.isHttps = eq_1.default('https:');
|
|
29
|
-
/**
|
|
30
|
-
* Возвращает экземпляр Buffer созданный из переданных данных.
|
|
31
|
-
* @param {Buffer|ArrayBuffer|string} data Данные.
|
|
32
|
-
* @return {Buffer|undefined} Данные.
|
|
33
|
-
*/
|
|
34
|
-
const prepareDataBuffer = data => {
|
|
35
|
-
let result;
|
|
36
|
-
if (isString_1.default(data)) {
|
|
37
|
-
result = Buffer.from(data, 'utf-8');
|
|
38
|
-
}
|
|
39
|
-
else if (Buffer.isBuffer(data)) {
|
|
40
|
-
result = data;
|
|
41
|
-
}
|
|
42
|
-
else if (isArrayBuffer_1.default(data)) {
|
|
43
|
-
result = Buffer.from(new Uint8Array(data));
|
|
44
|
-
}
|
|
45
|
-
return result;
|
|
46
|
-
};
|
|
47
|
-
exports.prepareDataBuffer = prepareDataBuffer;
|
|
48
|
-
/**
|
|
49
|
-
* Создает экземпляр URL из объединенного пути с базой. Если путь абсолютный - использует только его.
|
|
50
|
-
* @param {string} input Путь для объединения.
|
|
51
|
-
* @param {string} base База.
|
|
52
|
-
* @return {URL} Объект URL.
|
|
53
|
-
*/
|
|
54
|
-
const createConcatURL = (input, base) => {
|
|
55
|
-
const cleanInput = input ? input.replace(/^\/(?!\/)/, '') : '';
|
|
56
|
-
const cleanBase = base ? base.replace(/\/?$/, '/') : undefined;
|
|
57
|
-
return new URL(cleanInput, cleanBase);
|
|
58
|
-
};
|
|
59
|
-
exports.createConcatURL = createConcatURL;
|
|
60
|
-
/**
|
|
61
|
-
* Возвращает подходящий интерфейс транспорта в зависимости от конфигурации.
|
|
62
|
-
* @param {Object} config Конфигурация.
|
|
63
|
-
* @param {string} config.url Относительный URL запроса.
|
|
64
|
-
* @param {string} config.baseURL Базовый URL.
|
|
65
|
-
* @param {Object} config.transport Кастомный транспорт, переданный в конфигурации.
|
|
66
|
-
* @param {number} config.maxRedirects Максимальное количество редиректов.
|
|
67
|
-
* @return {Object} Транспорт.
|
|
68
|
-
*/
|
|
69
|
-
const createTransport = ({ url, baseURL, transport, maxRedirects, }) => {
|
|
70
|
-
const { protocol } = exports.createConcatURL(url, baseURL);
|
|
71
|
-
const isHttpsRequest = exports.isHttps(protocol);
|
|
72
|
-
let result;
|
|
73
|
-
if (transport) {
|
|
74
|
-
result = transport;
|
|
75
|
-
}
|
|
76
|
-
else if (maxRedirects === 0) {
|
|
77
|
-
result = isHttpsRequest ? https_1.default : http_1.default;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
result = isHttpsRequest ? follow_redirects_1.https : follow_redirects_1.http;
|
|
81
|
-
}
|
|
82
|
-
return result;
|
|
83
|
-
};
|
|
84
|
-
exports.createTransport = createTransport;
|
|
85
|
-
/**
|
|
86
|
-
* Объединяет имеющиеся параметры запроса с переданными и возвращает сериализованный путь с параметрами запроса.
|
|
87
|
-
* @param {URL} url Экземпляр URL.
|
|
88
|
-
* @param {Object|string|URLSearchParams} [params] Параметры запроса.
|
|
89
|
-
* @param {Function} [paramsSerializer] Функция для сериализации переданных параметров.
|
|
90
|
-
* @return {string} Путь с параметрами.
|
|
91
|
-
*/
|
|
92
|
-
const buildRequestPath = (url, params, paramsSerializer) => {
|
|
93
|
-
const outlineSearchParams = new URLSearchParams(isFunction_1.default(paramsSerializer)
|
|
94
|
-
? paramsSerializer(params)
|
|
95
|
-
: params);
|
|
96
|
-
outlineSearchParams.forEach((value, name) => url.searchParams.append(name, value));
|
|
97
|
-
return url.href.replace(url.origin, '');
|
|
98
|
-
};
|
|
99
|
-
exports.buildRequestPath = buildRequestPath;
|
|
100
|
-
/**
|
|
101
|
-
* Формирует объект опций для запроса на основании переданной конфигурации.
|
|
102
|
-
* @param {Object} config Конфигурация.
|
|
103
|
-
* @return {Object} Опции.
|
|
104
|
-
*/
|
|
105
|
-
const createOptions = ({ url, baseURL, method, headers, httpAgent, httpsAgent, params, paramsSerializer, maxRedirects, maxContentLength, }) => {
|
|
106
|
-
const fullURL = exports.createConcatURL(url, baseURL);
|
|
107
|
-
const { protocol, hostname, port, } = fullURL;
|
|
108
|
-
const agent = exports.isHttps(protocol) ? httpsAgent : httpAgent;
|
|
109
|
-
const result = {
|
|
110
|
-
path: exports.buildRequestPath(fullURL, params, paramsSerializer),
|
|
111
|
-
method: method.toUpperCase(),
|
|
112
|
-
agents: { http: httpAgent, https: httpsAgent },
|
|
113
|
-
headers,
|
|
114
|
-
agent,
|
|
115
|
-
hostname,
|
|
116
|
-
port: Number(port) || undefined,
|
|
117
|
-
};
|
|
118
|
-
if (maxRedirects) {
|
|
119
|
-
result.maxRedirects = maxRedirects;
|
|
120
|
-
}
|
|
121
|
-
if (maxContentLength && maxContentLength > -1) {
|
|
122
|
-
result.maxBodyLength = maxContentLength;
|
|
123
|
-
}
|
|
124
|
-
return result;
|
|
125
|
-
};
|
|
126
|
-
exports.createOptions = createOptions;
|
|
127
|
-
/**
|
|
128
|
-
* Возвращает декомпресированный запрос либо исходный запрос, если не было заголовка о компрессии.
|
|
129
|
-
* @param {import('stream').Readable} response Запрос.
|
|
130
|
-
* @return {import('stream').Readable} Обработанный запрос.
|
|
131
|
-
*/
|
|
132
|
-
const uncompressResponse = response => {
|
|
133
|
-
const isCompress = [
|
|
134
|
-
'gzip',
|
|
135
|
-
'compress',
|
|
136
|
-
'deflate',
|
|
137
|
-
].includes(response.headers['content-encoding']);
|
|
138
|
-
return isCompress && response.statusCode !== 204
|
|
139
|
-
? response.pipe(zlib_1.default.createUnzip())
|
|
140
|
-
: response;
|
|
141
|
-
};
|
|
142
|
-
exports.uncompressResponse = uncompressResponse;
|
|
143
|
-
/**
|
|
144
|
-
* Возвращает ошибку, дополненную свойствами из запроса.
|
|
145
|
-
* @param {Error} error Ошибка.
|
|
146
|
-
* @param {Object} config Конфиг.
|
|
147
|
-
* @param {string} code Код ошибки.
|
|
148
|
-
* @param {import('http').ClientRequest} request Запрос.
|
|
149
|
-
* @param {import('http').IncomingMessage} response Ответ.
|
|
150
|
-
* @return {Error} Расширенная ошибка.
|
|
151
|
-
*/
|
|
152
|
-
const enhanceError = (error, config, code, request, response) => {
|
|
153
|
-
const enhance = {
|
|
154
|
-
config,
|
|
155
|
-
request,
|
|
156
|
-
response,
|
|
157
|
-
isAxiosError: true,
|
|
158
|
-
/**
|
|
159
|
-
* Возвращает объект для передачи в JSON.stringify().
|
|
160
|
-
* @return {Object} Объект.
|
|
161
|
-
*/
|
|
162
|
-
toJSON() {
|
|
163
|
-
return {
|
|
164
|
-
message: this.message,
|
|
165
|
-
name: this.name,
|
|
166
|
-
description: this.description,
|
|
167
|
-
number: this.number,
|
|
168
|
-
fileName: this.fileName,
|
|
169
|
-
lineNumber: this.lineNumber,
|
|
170
|
-
columnNumber: this.columnNumber,
|
|
171
|
-
stack: this.stack,
|
|
172
|
-
config: this.config,
|
|
173
|
-
code: this.code,
|
|
174
|
-
};
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
if (code) {
|
|
178
|
-
enhance.code = code;
|
|
179
|
-
}
|
|
180
|
-
return Object.assign(error, enhance);
|
|
181
|
-
};
|
|
182
|
-
exports.enhanceError = enhanceError;
|
|
183
|
-
/**
|
|
184
|
-
* Создает расширенную ошибку из текста и параметров запроса.
|
|
185
|
-
* @param {string} message Текст ошибки.
|
|
186
|
-
* @param {Array} rest Параметры запроса.
|
|
187
|
-
* @return {Error} Ошибка.
|
|
188
|
-
*/
|
|
189
|
-
const createError = (message, ...rest) => exports.enhanceError(new Error(message), ...rest);
|
|
190
|
-
exports.createError = createError;
|
|
191
|
-
/**
|
|
192
|
-
* Валидирует код ответа и разрешает промис.
|
|
193
|
-
* @param {Function} resolve Разрешает промис.
|
|
194
|
-
* @param {Function} reject Отклоняет промис.
|
|
195
|
-
* @param {import('http').IncomingMessage} response Ответ на запрос.
|
|
196
|
-
*/
|
|
197
|
-
const settle = (resolve, reject, response) => {
|
|
198
|
-
const { status, config, request } = response;
|
|
199
|
-
const { validateStatus } = config || {};
|
|
200
|
-
if (!validateStatus || validateStatus(status)) {
|
|
201
|
-
resolve(response);
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
reject(exports.createError(`Request failed with status code ${status}`, config, null, request, response));
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
exports.settle = settle;
|
|
208
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/helpers/api/server-adapter/helpers.js"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export default serverAdapter;
|
|
2
|
-
/**
|
|
3
|
-
* Адаптер для Axios, создающий события на основных этапах запроса к API.
|
|
4
|
-
* За образец использован дефолтный адаптер 'axios/lib/adapters/http.js',
|
|
5
|
-
* но без поддержки proxy, socketPath и cancelToken за ненадобностью.
|
|
6
|
-
* Только для NodeJS, на клиенте не использовать.
|
|
7
|
-
* @param {Object} config Конфигурация инстанса Axios.
|
|
8
|
-
* @return {Promise} Разрешится после запроса к API.
|
|
9
|
-
*/
|
|
10
|
-
declare function serverAdapter(config: Object): Promise<any>;
|