@sima-land/isomorph 11.0.0-alpha.7 → 11.0.0-alpha.71
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/README.md +26 -0
- package/dist/cjs/cache/index.js +6 -0
- package/dist/cjs/cache/index.js.map +1 -0
- package/dist/cjs/cache/types.js +6 -0
- package/dist/cjs/cache/types.js.map +1 -0
- package/dist/cjs/config/base.js +22 -0
- package/dist/cjs/config/base.js.map +1 -0
- package/dist/cjs/config/index.js +20 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/config/source.js +30 -0
- package/dist/cjs/config/source.js.map +1 -0
- package/dist/cjs/config/types.js +6 -0
- package/dist/cjs/config/types.js.map +1 -0
- package/dist/cjs/di/application.js +106 -0
- package/dist/cjs/di/application.js.map +1 -0
- package/dist/cjs/di/container.js +55 -0
- package/dist/cjs/di/container.js.map +1 -0
- package/dist/cjs/di/errors.js +65 -0
- package/dist/cjs/di/errors.js.map +1 -0
- package/dist/cjs/di/index.js +59 -0
- package/dist/cjs/di/index.js.map +1 -0
- package/dist/cjs/di/preset.js +32 -0
- package/dist/cjs/di/preset.js.map +1 -0
- package/dist/cjs/di/token.js +44 -0
- package/dist/cjs/di/token.js.map +1 -0
- package/dist/cjs/di/types.js +6 -0
- package/dist/cjs/di/types.js.map +1 -0
- package/dist/cjs/http/errors.js +55 -0
- package/dist/cjs/http/errors.js.map +1 -0
- package/dist/cjs/http/index.js +64 -0
- package/dist/cjs/http/index.js.map +1 -0
- package/dist/cjs/http/types.js +6 -0
- package/dist/cjs/http/types.js.map +1 -0
- package/dist/cjs/http/utils.js +168 -0
- package/dist/cjs/http/utils.js.map +1 -0
- package/dist/cjs/log/errors.js +35 -0
- package/dist/cjs/log/errors.js.map +1 -0
- package/dist/cjs/log/handler/pino.js +31 -0
- package/dist/cjs/log/handler/pino.js.map +1 -0
- package/dist/cjs/log/handler/sentry.js +53 -0
- package/dist/cjs/log/handler/sentry.js.map +1 -0
- package/dist/cjs/log/index.js +40 -0
- package/dist/cjs/log/index.js.map +1 -0
- package/dist/cjs/log/logger.js +35 -0
- package/dist/cjs/log/logger.js.map +1 -0
- package/dist/cjs/log/types.js +6 -0
- package/dist/cjs/log/types.js.map +1 -0
- package/dist/cjs/package.json +38 -0
- package/dist/cjs/preset/isomorphic/index.js +69 -0
- package/dist/cjs/preset/isomorphic/index.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/abort-controller.js +14 -0
- package/dist/cjs/preset/isomorphic/providers/abort-controller.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/axios-factory.js +24 -0
- package/dist/cjs/preset/isomorphic/providers/axios-factory.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/base-config.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/base-config.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/fetch.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/fetch.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js +26 -0
- package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
- package/dist/cjs/preset/isomorphic/types.js +6 -0
- package/dist/cjs/preset/isomorphic/types.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/axios-logging.js +165 -0
- package/dist/cjs/preset/isomorphic/utils/axios-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/disableable.js +32 -0
- package/dist/cjs/preset/isomorphic/utils/disableable.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/display-url.js +32 -0
- package/dist/cjs/preset/isomorphic/utils/display-url.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/fetch-logging.js +113 -0
- package/dist/cjs/preset/isomorphic/utils/fetch-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js +21 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js +31 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js +25 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js +46 -0
- package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/http-status.js +70 -0
- package/dist/cjs/preset/isomorphic/utils/http-status.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/saga-logging.js +54 -0
- package/dist/cjs/preset/isomorphic/utils/saga-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/severity-from-status.js +30 -0
- package/dist/cjs/preset/isomorphic/utils/severity-from-status.js.map +1 -0
- package/dist/cjs/preset/node/index.js +121 -0
- package/dist/cjs/preset/node/index.js.map +1 -0
- package/dist/cjs/preset/node/providers/config-source.js +30 -0
- package/dist/cjs/preset/node/providers/config-source.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-error-middleware.js +15 -0
- package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-factory.js +16 -0
- package/dist/cjs/preset/node/providers/express-factory.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-log-middleware.js +45 -0
- package/dist/cjs/preset/node/providers/express-log-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js +60 -0
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-request-middleware.js +20 -0
- package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js +67 -0
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/log-handler-pino.js +32 -0
- package/dist/cjs/preset/node/providers/log-handler-pino.js.map +1 -0
- package/dist/cjs/preset/node/providers/log-handler-sentry.js +35 -0
- package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -0
- package/dist/cjs/preset/node/providers/logger.js +23 -0
- package/dist/cjs/preset/node/providers/logger.js.map +1 -0
- package/dist/cjs/preset/node/providers/main-express-app.js +73 -0
- package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -0
- package/dist/cjs/preset/node/providers/metrics-express-app.js +25 -0
- package/dist/cjs/preset/node/providers/metrics-express-app.js.map +1 -0
- package/dist/cjs/preset/node/providers/public-envs.js +22 -0
- package/dist/cjs/preset/node/providers/public-envs.js.map +1 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-provider.js +24 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-provider.js.map +1 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-resource.js +27 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-resource.js.map +1 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-span-exporter.js +28 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer.js +18 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer.js.map +1 -0
- package/dist/cjs/preset/node/types.js +6 -0
- package/dist/cjs/preset/node/types.js.map +1 -0
- package/dist/cjs/preset/node/utils/axios-tracing-middleware.js +66 -0
- package/dist/cjs/preset/node/utils/axios-tracing-middleware.js.map +1 -0
- package/dist/cjs/preset/node/utils/emitter-as-target.js +52 -0
- package/dist/cjs/preset/node/utils/emitter-as-target.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-client-ip.js +18 -0
- package/dist/cjs/preset/node/utils/get-client-ip.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js +41 -0
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-forwarded-headers.js +36 -0
- package/dist/cjs/preset/node/utils/get-forwarded-headers.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-handler-metrics.js +43 -0
- package/dist/cjs/preset/node/utils/get-handler-metrics.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js +21 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-serve-measuring.js +57 -0
- package/dist/cjs/preset/node/utils/get-serve-measuring.js.map +1 -0
- package/dist/cjs/preset/node/utils/handler-provider.js +29 -0
- package/dist/cjs/preset/node/utils/handler-provider.js.map +1 -0
- package/dist/cjs/preset/node/utils/telemetry.js +23 -0
- package/dist/cjs/preset/node/utils/telemetry.js.map +1 -0
- package/dist/cjs/preset/node-handler/index.js +73 -0
- package/dist/cjs/preset/node-handler/index.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/accepts-type.js +17 -0
- package/dist/cjs/preset/node-handler/providers/accepts-type.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/axios-log-handler.js +25 -0
- package/dist/cjs/preset/node-handler/providers/axios-log-handler.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js +54 -0
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +35 -0
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/handler-main.js +66 -0
- package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/response-events.js +18 -0
- package/dist/cjs/preset/node-handler/providers/response-events.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/specific-params.js +28 -0
- package/dist/cjs/preset/node-handler/providers/specific-params.js.map +1 -0
- package/dist/cjs/preset/server/constants.js +21 -0
- package/dist/cjs/preset/server/constants.js.map +1 -0
- package/dist/cjs/preset/server/index.js +95 -0
- package/dist/cjs/preset/server/index.js.map +1 -0
- package/dist/cjs/preset/server/providers/element-to-string.js +24 -0
- package/dist/cjs/preset/server/providers/element-to-string.js.map +1 -0
- package/dist/cjs/preset/server/providers/fetch-log-handler.js +23 -0
- package/dist/cjs/preset/server/providers/fetch-log-handler.js.map +1 -0
- package/dist/cjs/preset/server/providers/fetch-middleware.js +13 -0
- package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/server/providers/format-page-response.js +71 -0
- package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -0
- package/dist/cjs/preset/server/providers/known-http-api-hosts.js +26 -0
- package/dist/cjs/preset/server/providers/known-http-api-hosts.js.map +1 -0
- package/dist/cjs/preset/server/providers/page-helmet.js +21 -0
- package/dist/cjs/preset/server/providers/page-helmet.js.map +1 -0
- package/dist/cjs/preset/server/providers/page-render.js +21 -0
- package/dist/cjs/preset/server/providers/page-render.js.map +1 -0
- package/dist/cjs/preset/server/providers/response-events.js +17 -0
- package/dist/cjs/preset/server/providers/response-events.js.map +1 -0
- package/dist/cjs/preset/server/providers/serve.js +48 -0
- package/dist/cjs/preset/server/providers/serve.js.map +1 -0
- package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js +18 -0
- package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
- package/dist/cjs/preset/server/types.js +6 -0
- package/dist/cjs/preset/server/types.js.map +1 -0
- package/dist/cjs/preset/server/utils/apply-server-middleware.js +22 -0
- package/dist/cjs/preset/server/utils/apply-server-middleware.js.map +1 -0
- package/dist/cjs/preset/server/utils/format-handler-error.js +40 -0
- package/dist/cjs/preset/server/utils/format-handler-error.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-client-ip.js +16 -0
- package/dist/cjs/preset/server/utils/get-client-ip.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js +40 -0
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-health-check.js +22 -0
- package/dist/cjs/preset/server/utils/get-health-check.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-page-response-format.js +22 -0
- package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js +36 -0
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-serve-logging.js +36 -0
- package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -0
- package/dist/cjs/preset/server/utils/handler-provider.js +30 -0
- package/dist/cjs/preset/server/utils/handler-provider.js.map +1 -0
- package/dist/cjs/preset/server/utils/regular-helmet.js +68 -0
- package/dist/cjs/preset/server/utils/regular-helmet.js.map +1 -0
- package/dist/cjs/preset/server/utils/specific-extras.js +30 -0
- package/dist/cjs/preset/server/utils/specific-extras.js.map +1 -0
- package/dist/cjs/preset/web/index.js +46 -0
- package/dist/cjs/preset/web/index.js.map +1 -0
- package/dist/cjs/preset/web/providers/axios-middleware.js +19 -0
- package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -0
- package/dist/cjs/preset/web/providers/config-source.js +19 -0
- package/dist/cjs/preset/web/providers/config-source.js.map +1 -0
- package/dist/cjs/preset/web/providers/fetch-middleware.js +21 -0
- package/dist/cjs/preset/web/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/web/providers/known-http-api-hosts.js +26 -0
- package/dist/cjs/preset/web/providers/known-http-api-hosts.js.map +1 -0
- package/dist/cjs/preset/web/providers/logger.js +51 -0
- package/dist/cjs/preset/web/providers/logger.js.map +1 -0
- package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js +18 -0
- package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
- package/dist/cjs/tokens.js +179 -0
- package/dist/cjs/tokens.js.map +1 -0
- package/dist/cjs/utils/axios/index.js +33 -0
- package/dist/cjs/utils/axios/index.js.map +1 -0
- package/dist/cjs/utils/axios/middleware/log.js +37 -0
- package/dist/cjs/utils/axios/middleware/log.js.map +1 -0
- package/dist/cjs/utils/axios/sauce/index.js +57 -0
- package/dist/cjs/utils/axios/sauce/index.js.map +1 -0
- package/dist/cjs/utils/axios/utils/index.js +30 -0
- package/dist/cjs/utils/axios/utils/index.js.map +1 -0
- package/dist/cjs/utils/express/handler/health-check.js +19 -0
- package/dist/cjs/utils/express/handler/health-check.js.map +1 -0
- package/dist/cjs/utils/express/index.js +20 -0
- package/dist/cjs/utils/express/index.js.map +1 -0
- package/dist/cjs/utils/express/utils/index.js +22 -0
- package/dist/cjs/utils/express/utils/index.js.map +1 -0
- package/dist/cjs/utils/function.js +44 -0
- package/dist/cjs/utils/function.js.map +1 -0
- package/dist/cjs/utils/index.js +27 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/{utils/number.js → dist/cjs/utils/math.js} +7 -5
- package/dist/cjs/utils/math.js.map +1 -0
- package/dist/cjs/utils/react/error-handlers/index.js +80 -0
- package/dist/cjs/utils/react/error-handlers/index.js.map +1 -0
- package/dist/cjs/utils/react/index.js +19 -0
- package/dist/cjs/utils/react/index.js.map +1 -0
- package/dist/cjs/utils/redux/index.js +19 -0
- package/dist/cjs/utils/redux/index.js.map +1 -0
- package/dist/cjs/utils/redux/remote-data.js +119 -0
- package/dist/cjs/utils/redux/remote-data.js.map +1 -0
- package/dist/cjs/utils/redux-saga/index.js +63 -0
- package/dist/cjs/utils/redux-saga/index.js.map +1 -0
- package/dist/cjs/utils/redux-saga/middleware.js +148 -0
- package/dist/cjs/utils/redux-saga/middleware.js.map +1 -0
- package/dist/cjs/utils/redux-saga/take-chain.js +66 -0
- package/dist/cjs/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/cjs/utils/redux-saga/typed-effects.js +98 -0
- package/dist/cjs/utils/redux-saga/typed-effects.js.map +1 -0
- package/dist/cjs/utils/redux-saga/types.js +6 -0
- package/dist/cjs/utils/redux-saga/types.js.map +1 -0
- package/dist/cjs/utils/selectors/create-curried-selector.js +41 -0
- package/dist/cjs/utils/selectors/create-curried-selector.js.map +1 -0
- package/dist/cjs/utils/ssr/index.js +74 -0
- package/dist/cjs/utils/ssr/index.js.map +1 -0
- package/dist/cjs/utils/web/analytics/data-layer.js +20 -0
- package/dist/cjs/utils/web/analytics/data-layer.js.map +1 -0
- package/dist/cjs/utils/web/analytics/index.js +20 -0
- package/dist/cjs/utils/web/analytics/index.js.map +1 -0
- package/dist/cjs/utils/web/analytics/oko.js +20 -0
- package/dist/cjs/utils/web/analytics/oko.js.map +1 -0
- package/dist/cjs/utils/web/storage/index.js +74 -0
- package/dist/cjs/utils/web/storage/index.js.map +1 -0
- package/dist/cjs/utils/webpack/env/index.js +97 -0
- package/dist/cjs/utils/webpack/env/index.js.map +1 -0
- package/dist/cjs/utils/webpack/env/types.js +6 -0
- package/dist/cjs/utils/webpack/env/types.js.map +1 -0
- package/dist/cjs/utils/webpack/env/utils.js +55 -0
- package/dist/cjs/utils/webpack/env/utils.js.map +1 -0
- package/dist/cjs/utils/webpack/index.js +26 -0
- package/dist/cjs/utils/webpack/index.js.map +1 -0
- package/dist/cjs/utils/webpack/module-federation/index.js +109 -0
- package/dist/cjs/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/cjs/utils/webpack/module-federation/types.js +6 -0
- package/dist/cjs/utils/webpack/module-federation/types.js.map +1 -0
- package/dist/cjs/utils/webpack/module-federation/utils.js +87 -0
- package/dist/cjs/utils/webpack/module-federation/utils.js.map +1 -0
- package/dist/esm/cache/index.js +2 -0
- package/dist/esm/cache/index.js.map +1 -0
- package/dist/esm/cache/types.js +2 -0
- package/dist/esm/cache/types.js.map +1 -0
- package/dist/esm/config/base.js +16 -0
- package/dist/esm/config/base.js.map +1 -0
- package/dist/esm/config/index.js +3 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/config/source.js +24 -0
- package/dist/esm/config/source.js.map +1 -0
- package/dist/esm/config/types.js +2 -0
- package/dist/esm/config/types.js.map +1 -0
- package/dist/esm/di/application.js +100 -0
- package/dist/esm/di/application.js.map +1 -0
- package/dist/esm/di/container.js +49 -0
- package/dist/esm/di/container.js.map +1 -0
- package/dist/esm/di/errors.js +56 -0
- package/dist/esm/di/errors.js.map +1 -0
- package/dist/esm/di/index.js +6 -0
- package/dist/esm/di/index.js.map +1 -0
- package/dist/esm/di/preset.js +26 -0
- package/dist/esm/di/preset.js.map +1 -0
- package/dist/esm/di/token.js +38 -0
- package/dist/esm/di/token.js.map +1 -0
- package/dist/esm/di/types.js +2 -0
- package/dist/esm/di/types.js.map +1 -0
- package/dist/esm/http/errors.js +47 -0
- package/dist/esm/http/errors.js.map +1 -0
- package/dist/esm/http/index.js +5 -0
- package/dist/esm/http/index.js.map +1 -0
- package/dist/esm/http/types.js +2 -0
- package/dist/esm/http/types.js.map +1 -0
- package/dist/esm/http/utils.js +160 -0
- package/dist/esm/http/utils.js.map +1 -0
- package/dist/esm/log/errors.js +27 -0
- package/dist/esm/log/errors.js.map +1 -0
- package/dist/esm/log/handler/pino.js +25 -0
- package/dist/esm/log/handler/pino.js.map +1 -0
- package/dist/esm/log/handler/sentry.js +47 -0
- package/dist/esm/log/handler/sentry.js.map +1 -0
- package/dist/esm/log/index.js +5 -0
- package/dist/esm/log/index.js.map +1 -0
- package/dist/esm/log/logger.js +29 -0
- package/dist/esm/log/logger.js.map +1 -0
- package/dist/esm/log/types.js +2 -0
- package/dist/esm/log/types.js.map +1 -0
- package/dist/esm/package.json +38 -0
- package/dist/esm/preset/isomorphic/index.js +11 -0
- package/dist/esm/preset/isomorphic/index.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/abort-controller.js +8 -0
- package/dist/esm/preset/isomorphic/providers/abort-controller.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/axios-factory.js +19 -0
- package/dist/esm/preset/isomorphic/providers/axios-factory.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/axios-log-handler.js +13 -0
- package/dist/esm/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/base-config.js +13 -0
- package/dist/esm/preset/isomorphic/providers/base-config.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/fetch.js +13 -0
- package/dist/esm/preset/isomorphic/providers/fetch.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js +20 -0
- package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
- package/dist/esm/preset/isomorphic/types.js +2 -0
- package/dist/esm/preset/isomorphic/types.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/axios-logging.js +158 -0
- package/dist/esm/preset/isomorphic/utils/axios-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/disableable.js +25 -0
- package/dist/esm/preset/isomorphic/utils/disableable.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/display-url.js +26 -0
- package/dist/esm/preset/isomorphic/utils/display-url.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/fetch-logging.js +107 -0
- package/dist/esm/preset/isomorphic/utils/fetch-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js +16 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js +25 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js +20 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js +39 -0
- package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/http-status.js +63 -0
- package/dist/esm/preset/isomorphic/utils/http-status.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/saga-logging.js +47 -0
- package/dist/esm/preset/isomorphic/utils/saga-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/severity-from-status.js +24 -0
- package/dist/esm/preset/isomorphic/utils/severity-from-status.js.map +1 -0
- package/dist/esm/preset/node/index.js +91 -0
- package/dist/esm/preset/node/index.js.map +1 -0
- package/dist/esm/preset/node/providers/config-source.js +24 -0
- package/dist/esm/preset/node/providers/config-source.js.map +1 -0
- package/dist/esm/preset/node/providers/express-error-middleware.js +9 -0
- package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-factory.js +10 -0
- package/dist/esm/preset/node/providers/express-factory.js.map +1 -0
- package/dist/esm/preset/node/providers/express-log-middleware.js +40 -0
- package/dist/esm/preset/node/providers/express-log-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-metrics-middleware.js +55 -0
- package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-request-middleware.js +14 -0
- package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-tracing-middleware.js +62 -0
- package/dist/esm/preset/node/providers/express-tracing-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/log-handler-pino.js +26 -0
- package/dist/esm/preset/node/providers/log-handler-pino.js.map +1 -0
- package/dist/esm/preset/node/providers/log-handler-sentry.js +30 -0
- package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -0
- package/dist/esm/preset/node/providers/logger.js +18 -0
- package/dist/esm/preset/node/providers/logger.js.map +1 -0
- package/dist/esm/preset/node/providers/main-express-app.js +67 -0
- package/dist/esm/preset/node/providers/main-express-app.js.map +1 -0
- package/dist/esm/preset/node/providers/metrics-express-app.js +18 -0
- package/dist/esm/preset/node/providers/metrics-express-app.js.map +1 -0
- package/dist/esm/preset/node/providers/public-envs.js +16 -0
- package/dist/esm/preset/node/providers/public-envs.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-provider.js +19 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-provider.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-resource.js +20 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-resource.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-span-exporter.js +22 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer.js +13 -0
- package/dist/esm/preset/node/providers/telemetry-tracer.js.map +1 -0
- package/dist/esm/preset/node/types.js +2 -0
- package/dist/esm/preset/node/types.js.map +1 -0
- package/dist/esm/preset/node/utils/axios-tracing-middleware.js +60 -0
- package/dist/esm/preset/node/utils/axios-tracing-middleware.js.map +1 -0
- package/dist/esm/preset/node/utils/emitter-as-target.js +45 -0
- package/dist/esm/preset/node/utils/emitter-as-target.js.map +1 -0
- package/dist/esm/preset/node/utils/get-client-ip.js +12 -0
- package/dist/esm/preset/node/utils/get-client-ip.js.map +1 -0
- package/dist/esm/preset/node/utils/get-fetch-tracing.js +36 -0
- package/dist/esm/preset/node/utils/get-fetch-tracing.js.map +1 -0
- package/dist/esm/preset/node/utils/get-forwarded-headers.js +31 -0
- package/dist/esm/preset/node/utils/get-forwarded-headers.js.map +1 -0
- package/dist/esm/preset/node/utils/get-handler-metrics.js +35 -0
- package/dist/esm/preset/node/utils/get-handler-metrics.js.map +1 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js +15 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -0
- package/dist/esm/preset/node/utils/get-serve-measuring.js +52 -0
- package/dist/esm/preset/node/utils/get-serve-measuring.js.map +1 -0
- package/dist/esm/preset/node/utils/handler-provider.js +24 -0
- package/dist/esm/preset/node/utils/handler-provider.js.map +1 -0
- package/dist/esm/preset/node/utils/telemetry.js +18 -0
- package/dist/esm/preset/node/utils/telemetry.js.map +1 -0
- package/dist/esm/preset/node-handler/index.js +68 -0
- package/dist/esm/preset/node-handler/index.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/accepts-type.js +12 -0
- package/dist/esm/preset/node-handler/providers/accepts-type.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/axios-log-handler.js +20 -0
- package/dist/esm/preset/node-handler/providers/axios-log-handler.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/axios-middleware.js +49 -0
- package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js +30 -0
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/handler-main.js +58 -0
- package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/response-events.js +13 -0
- package/dist/esm/preset/node-handler/providers/response-events.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/specific-params.js +23 -0
- package/dist/esm/preset/node-handler/providers/specific-params.js.map +1 -0
- package/dist/esm/preset/server/constants.js +15 -0
- package/dist/esm/preset/server/constants.js.map +1 -0
- package/dist/esm/preset/server/index.js +14 -0
- package/dist/esm/preset/server/index.js.map +1 -0
- package/dist/esm/preset/server/providers/element-to-string.js +19 -0
- package/dist/esm/preset/server/providers/element-to-string.js.map +1 -0
- package/dist/esm/preset/server/providers/fetch-log-handler.js +18 -0
- package/dist/esm/preset/server/providers/fetch-log-handler.js.map +1 -0
- package/dist/esm/preset/server/providers/fetch-middleware.js +7 -0
- package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/server/providers/format-page-response.js +66 -0
- package/dist/esm/preset/server/providers/format-page-response.js.map +1 -0
- package/dist/esm/preset/server/providers/known-http-api-hosts.js +21 -0
- package/dist/esm/preset/server/providers/known-http-api-hosts.js.map +1 -0
- package/dist/esm/preset/server/providers/page-helmet.js +16 -0
- package/dist/esm/preset/server/providers/page-helmet.js.map +1 -0
- package/dist/esm/preset/server/providers/page-render.js +9 -0
- package/dist/esm/preset/server/providers/page-render.js.map +1 -0
- package/dist/esm/preset/server/providers/response-events.js +12 -0
- package/dist/esm/preset/server/providers/response-events.js.map +1 -0
- package/dist/esm/preset/server/providers/serve.js +42 -0
- package/dist/esm/preset/server/providers/serve.js.map +1 -0
- package/dist/esm/preset/server/providers/ssr-bridge-server-side.js +13 -0
- package/dist/esm/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
- package/dist/esm/preset/server/types.js +2 -0
- package/dist/esm/preset/server/types.js.map +1 -0
- package/dist/esm/preset/server/utils/apply-server-middleware.js +16 -0
- package/dist/esm/preset/server/utils/apply-server-middleware.js.map +1 -0
- package/dist/esm/preset/server/utils/format-handler-error.js +34 -0
- package/dist/esm/preset/server/utils/format-handler-error.js.map +1 -0
- package/dist/esm/preset/server/utils/get-client-ip.js +10 -0
- package/dist/esm/preset/server/utils/get-client-ip.js.map +1 -0
- package/dist/esm/preset/server/utils/get-forwarded-headers.js +35 -0
- package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -0
- package/dist/esm/preset/server/utils/get-health-check.js +16 -0
- package/dist/esm/preset/server/utils/get-health-check.js.map +1 -0
- package/dist/esm/preset/server/utils/get-page-response-format.js +16 -0
- package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -0
- package/dist/esm/preset/server/utils/get-serve-error-logging.js +31 -0
- package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -0
- package/dist/esm/preset/server/utils/get-serve-logging.js +31 -0
- package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -0
- package/dist/esm/preset/server/utils/handler-provider.js +25 -0
- package/dist/esm/preset/server/utils/handler-provider.js.map +1 -0
- package/dist/esm/preset/server/utils/regular-helmet.js +53 -0
- package/dist/esm/preset/server/utils/regular-helmet.js.map +1 -0
- package/dist/esm/preset/server/utils/specific-extras.js +23 -0
- package/dist/esm/preset/server/utils/specific-extras.js.map +1 -0
- package/dist/esm/preset/web/index.js +41 -0
- package/dist/esm/preset/web/index.js.map +1 -0
- package/dist/esm/preset/web/providers/axios-middleware.js +14 -0
- package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -0
- package/dist/esm/preset/web/providers/config-source.js +14 -0
- package/dist/esm/preset/web/providers/config-source.js.map +1 -0
- package/dist/esm/preset/web/providers/fetch-middleware.js +16 -0
- package/dist/esm/preset/web/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/web/providers/known-http-api-hosts.js +21 -0
- package/dist/esm/preset/web/providers/known-http-api-hosts.js.map +1 -0
- package/dist/esm/preset/web/providers/logger.js +46 -0
- package/dist/esm/preset/web/providers/logger.js.map +1 -0
- package/dist/esm/preset/web/providers/ssr-bridge-client-side.js +13 -0
- package/dist/esm/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
- package/dist/esm/tokens.js +174 -0
- package/dist/esm/tokens.js.map +1 -0
- package/dist/esm/utils/axios/index.js +4 -0
- package/dist/esm/utils/axios/index.js.map +1 -0
- package/dist/esm/utils/axios/middleware/log.js +31 -0
- package/dist/esm/utils/axios/middleware/log.js.map +1 -0
- package/dist/esm/utils/axios/sauce/index.js +50 -0
- package/dist/esm/utils/axios/sauce/index.js.map +1 -0
- package/dist/esm/utils/axios/utils/index.js +24 -0
- package/dist/esm/utils/axios/utils/index.js.map +1 -0
- package/dist/esm/utils/express/handler/health-check.js +13 -0
- package/dist/esm/utils/express/handler/health-check.js.map +1 -0
- package/dist/esm/utils/express/index.js +3 -0
- package/dist/esm/utils/express/index.js.map +1 -0
- package/dist/esm/utils/express/utils/index.js +16 -0
- package/dist/esm/utils/express/utils/index.js.map +1 -0
- package/dist/esm/utils/function.js +38 -0
- package/dist/esm/utils/function.js.map +1 -0
- package/dist/esm/utils/index.js +4 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/math.js +9 -0
- package/dist/esm/utils/math.js.map +1 -0
- package/dist/esm/utils/react/error-handlers/index.js +69 -0
- package/dist/esm/utils/react/error-handlers/index.js.map +1 -0
- package/dist/esm/utils/react/index.js +3 -0
- package/dist/esm/utils/react/index.js.map +1 -0
- package/dist/esm/utils/redux/index.js +3 -0
- package/dist/esm/utils/redux/index.js.map +1 -0
- package/dist/esm/utils/redux/remote-data.js +110 -0
- package/dist/esm/utils/redux/remote-data.js.map +1 -0
- package/dist/esm/utils/redux-saga/index.js +4 -0
- package/dist/esm/utils/redux-saga/index.js.map +1 -0
- package/dist/esm/utils/redux-saga/middleware.js +143 -0
- package/dist/esm/utils/redux-saga/middleware.js.map +1 -0
- package/dist/esm/utils/redux-saga/take-chain.js +59 -0
- package/dist/esm/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/esm/utils/redux-saga/typed-effects.js +87 -0
- package/dist/esm/utils/redux-saga/typed-effects.js.map +1 -0
- package/dist/esm/utils/redux-saga/types.js +2 -0
- package/dist/esm/utils/redux-saga/types.js.map +1 -0
- package/dist/esm/utils/selectors/create-curried-selector.js +35 -0
- package/dist/esm/utils/selectors/create-curried-selector.js.map +1 -0
- package/dist/esm/utils/ssr/index.js +67 -0
- package/dist/esm/utils/ssr/index.js.map +1 -0
- package/dist/esm/utils/web/analytics/data-layer.js +14 -0
- package/dist/esm/utils/web/analytics/data-layer.js.map +1 -0
- package/dist/esm/utils/web/analytics/index.js +3 -0
- package/dist/esm/utils/web/analytics/index.js.map +1 -0
- package/dist/esm/utils/web/analytics/oko.js +14 -0
- package/dist/esm/utils/web/analytics/oko.js.map +1 -0
- package/dist/esm/utils/web/storage/index.js +68 -0
- package/dist/esm/utils/web/storage/index.js.map +1 -0
- package/dist/esm/utils/webpack/env/index.js +90 -0
- package/dist/esm/utils/webpack/env/index.js.map +1 -0
- package/dist/esm/utils/webpack/env/types.js +2 -0
- package/dist/esm/utils/webpack/env/types.js.map +1 -0
- package/dist/esm/utils/webpack/env/utils.js +48 -0
- package/dist/esm/utils/webpack/env/utils.js.map +1 -0
- package/dist/esm/utils/webpack/index.js +3 -0
- package/dist/esm/utils/webpack/index.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/index.js +96 -0
- package/dist/esm/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/types.js +2 -0
- package/dist/esm/utils/webpack/module-federation/types.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/utils.js +80 -0
- package/dist/esm/utils/webpack/module-federation/utils.js.map +1 -0
- package/dist/types/cache/index.d.ts +2 -0
- package/dist/types/cache/index.d.ts.map +1 -0
- package/dist/types/cache/types.d.ts +31 -0
- package/dist/types/cache/types.d.ts.map +1 -0
- package/{config → dist/types/config}/base.d.ts +3 -2
- package/dist/types/config/base.d.ts.map +1 -0
- package/dist/types/config/index.d.ts +4 -0
- package/dist/types/config/index.d.ts.map +1 -0
- package/dist/types/config/source.d.ts +8 -0
- package/dist/types/config/source.d.ts.map +1 -0
- package/dist/types/config/types.d.ts +21 -0
- package/dist/types/config/types.d.ts.map +1 -0
- package/{di → dist/types/di}/application.d.ts +6 -1
- package/dist/types/di/application.d.ts.map +1 -0
- package/{di → dist/types/di}/container.d.ts +1 -0
- package/dist/types/di/container.d.ts.map +1 -0
- package/dist/types/di/errors.d.ts +36 -0
- package/dist/types/di/errors.d.ts.map +1 -0
- package/dist/types/di/index.d.ts +7 -0
- package/dist/types/di/index.d.ts.map +1 -0
- package/dist/types/di/preset.d.ts +10 -0
- package/dist/types/di/preset.d.ts.map +1 -0
- package/{di → dist/types/di}/token.d.ts +1 -0
- package/dist/types/di/token.d.ts.map +1 -0
- package/dist/types/di/types.d.ts +87 -0
- package/dist/types/di/types.d.ts.map +1 -0
- package/dist/types/http/errors.d.ts +33 -0
- package/dist/types/http/errors.d.ts.map +1 -0
- package/dist/types/http/index.d.ts +6 -0
- package/dist/types/http/index.d.ts.map +1 -0
- package/dist/types/http/types.d.ts +27 -0
- package/dist/types/http/types.d.ts.map +1 -0
- package/dist/types/http/utils.d.ts +52 -0
- package/dist/types/http/utils.d.ts.map +1 -0
- package/dist/types/log/errors.d.ts +24 -0
- package/dist/types/log/errors.d.ts.map +1 -0
- package/dist/types/log/handler/pino.d.ts +9 -0
- package/dist/types/log/handler/pino.d.ts.map +1 -0
- package/dist/types/log/handler/sentry.d.ts +12 -0
- package/dist/types/log/handler/sentry.d.ts.map +1 -0
- package/dist/types/log/index.d.ts +6 -0
- package/dist/types/log/index.d.ts.map +1 -0
- package/{logger/index.d.ts → dist/types/log/logger.d.ts} +1 -0
- package/dist/types/log/logger.d.ts.map +1 -0
- package/dist/types/log/types.d.ts +65 -0
- package/dist/types/log/types.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/index.d.ts +11 -0
- package/dist/types/preset/isomorphic/index.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/abort-controller.d.ts +6 -0
- package/dist/types/preset/isomorphic/providers/abort-controller.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/axios-factory.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/axios-factory.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/base-config.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/base-config.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/fetch.d.ts +8 -0
- package/dist/types/preset/isomorphic/providers/fetch.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/types.d.ts +35 -0
- package/dist/types/preset/isomorphic/types.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/axios-logging.d.ts +34 -0
- package/dist/types/preset/isomorphic/utils/axios-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/disableable.d.ts +18 -0
- package/dist/types/preset/isomorphic/utils/disableable.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/display-url.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/display-url.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts +18 -0
- package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts +8 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts +24 -0
- package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/http-status.d.ts +29 -0
- package/dist/types/preset/isomorphic/utils/http-status.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/saga-logging.d.ts +30 -0
- package/dist/types/preset/isomorphic/utils/saga-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts +8 -0
- package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts.map +1 -0
- package/dist/types/preset/node/index.d.ts +14 -0
- package/dist/types/preset/node/index.d.ts.map +1 -0
- package/dist/types/preset/node/providers/config-source.d.ts +7 -0
- package/dist/types/preset/node/providers/config-source.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-error-middleware.d.ts +7 -0
- package/dist/types/preset/node/providers/express-error-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-factory.d.ts +7 -0
- package/dist/types/preset/node/providers/express-factory.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-log-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-log-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-metrics-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-metrics-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-request-middleware.d.ts +7 -0
- package/dist/types/preset/node/providers/express-request-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-tracing-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-tracing-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/log-handler-pino.d.ts +9 -0
- package/dist/types/preset/node/providers/log-handler-pino.d.ts.map +1 -0
- package/dist/types/preset/node/providers/log-handler-sentry.d.ts +9 -0
- package/dist/types/preset/node/providers/log-handler-sentry.d.ts.map +1 -0
- package/dist/types/preset/node/providers/logger.d.ts +9 -0
- package/dist/types/preset/node/providers/logger.d.ts.map +1 -0
- package/dist/types/preset/node/providers/main-express-app.d.ts +9 -0
- package/dist/types/preset/node/providers/main-express-app.d.ts.map +1 -0
- package/dist/types/preset/node/providers/metrics-express-app.d.ts +7 -0
- package/dist/types/preset/node/providers/metrics-express-app.d.ts.map +1 -0
- package/dist/types/preset/node/providers/public-envs.d.ts +6 -0
- package/dist/types/preset/node/providers/public-envs.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer-resource.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer-resource.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer-span-exporter.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer-span-exporter.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer.d.ts.map +1 -0
- package/dist/types/preset/node/types.d.ts +12 -0
- package/dist/types/preset/node/types.d.ts.map +1 -0
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts +21 -0
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/utils/emitter-as-target.d.ts +16 -0
- package/dist/types/preset/node/utils/emitter-as-target.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-client-ip.d.ts +8 -0
- package/dist/types/preset/node/utils/get-client-ip.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-fetch-tracing.d.ts +10 -0
- package/dist/types/preset/node/utils/get-fetch-tracing.d.ts.map +1 -0
- package/{http-client/utils.d.ts → dist/types/preset/node/utils/get-forwarded-headers.d.ts} +4 -3
- package/dist/types/preset/node/utils/get-forwarded-headers.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-handler-metrics.d.ts +15 -0
- package/dist/types/preset/node/utils/get-handler-metrics.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts +10 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-serve-measuring.d.ts +9 -0
- package/dist/types/preset/node/utils/get-serve-measuring.d.ts.map +1 -0
- package/dist/types/preset/node/utils/handler-provider.d.ts +9 -0
- package/dist/types/preset/node/utils/handler-provider.d.ts.map +1 -0
- package/dist/types/preset/node/utils/telemetry.d.ts +8 -0
- package/dist/types/preset/node/utils/telemetry.d.ts.map +1 -0
- package/dist/types/preset/node-handler/index.d.ts +10 -0
- package/dist/types/preset/node-handler/index.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/accepts-type.d.ts +13 -0
- package/dist/types/preset/node-handler/providers/accepts-type.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/axios-middleware.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/handler-main.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/response-events.d.ts +8 -0
- package/dist/types/preset/node-handler/providers/response-events.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/specific-params.d.ts +8 -0
- package/dist/types/preset/node-handler/providers/specific-params.d.ts.map +1 -0
- package/dist/types/preset/server/constants.d.ts +13 -0
- package/dist/types/preset/server/constants.d.ts.map +1 -0
- package/dist/types/preset/server/index.d.ts +13 -0
- package/dist/types/preset/server/index.d.ts.map +1 -0
- package/dist/types/preset/server/providers/element-to-string.d.ts +9 -0
- package/dist/types/preset/server/providers/element-to-string.d.ts.map +1 -0
- package/dist/types/preset/server/providers/fetch-log-handler.d.ts +9 -0
- package/dist/types/preset/server/providers/fetch-log-handler.d.ts.map +1 -0
- package/dist/types/preset/server/providers/fetch-middleware.d.ts +3 -0
- package/dist/types/preset/server/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/server/providers/format-page-response.d.ts +10 -0
- package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -0
- package/dist/types/preset/server/providers/known-http-api-hosts.d.ts +10 -0
- package/dist/types/preset/server/providers/known-http-api-hosts.d.ts.map +1 -0
- package/dist/types/preset/server/providers/page-helmet.d.ts +11 -0
- package/dist/types/preset/server/providers/page-helmet.d.ts.map +1 -0
- package/dist/types/preset/server/providers/page-render.d.ts +6 -0
- package/dist/types/preset/server/providers/page-render.d.ts.map +1 -0
- package/dist/types/preset/server/providers/response-events.d.ts +8 -0
- package/dist/types/preset/server/providers/response-events.d.ts.map +1 -0
- package/dist/types/preset/server/providers/serve.d.ts +4 -0
- package/dist/types/preset/server/providers/serve.d.ts.map +1 -0
- package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts +9 -0
- package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts.map +1 -0
- package/dist/types/preset/server/types.d.ts +33 -0
- package/dist/types/preset/server/types.d.ts.map +1 -0
- package/dist/types/preset/server/utils/apply-server-middleware.d.ts +8 -0
- package/dist/types/preset/server/utils/apply-server-middleware.d.ts.map +1 -0
- package/dist/types/preset/server/utils/format-handler-error.d.ts +18 -0
- package/dist/types/preset/server/utils/format-handler-error.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-client-ip.d.ts +7 -0
- package/dist/types/preset/server/utils/get-client-ip.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-forwarded-headers.d.ts +9 -0
- package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-health-check.d.ts +8 -0
- package/dist/types/preset/server/utils/get-health-check.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-page-response-format.d.ts +10 -0
- package/dist/types/preset/server/utils/get-page-response-format.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-serve-error-logging.d.ts +9 -0
- package/dist/types/preset/server/utils/get-serve-error-logging.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-serve-logging.d.ts +9 -0
- package/dist/types/preset/server/utils/get-serve-logging.d.ts.map +1 -0
- package/dist/types/preset/server/utils/handler-provider.d.ts +11 -0
- package/dist/types/preset/server/utils/handler-provider.d.ts.map +1 -0
- package/dist/types/preset/server/utils/regular-helmet.d.ts +15 -0
- package/dist/types/preset/server/utils/regular-helmet.d.ts.map +1 -0
- package/dist/types/preset/server/utils/specific-extras.d.ts +18 -0
- package/dist/types/preset/server/utils/specific-extras.d.ts.map +1 -0
- package/dist/types/preset/web/index.d.ts +9 -0
- package/dist/types/preset/web/index.d.ts.map +1 -0
- package/dist/types/preset/web/providers/axios-middleware.d.ts +9 -0
- package/dist/types/preset/web/providers/axios-middleware.d.ts.map +1 -0
- package/dist/types/preset/web/providers/config-source.d.ts +7 -0
- package/dist/types/preset/web/providers/config-source.d.ts.map +1 -0
- package/dist/types/preset/web/providers/fetch-middleware.d.ts +8 -0
- package/dist/types/preset/web/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/web/providers/known-http-api-hosts.d.ts +10 -0
- package/dist/types/preset/web/providers/known-http-api-hosts.d.ts.map +1 -0
- package/dist/types/preset/web/providers/logger.d.ts +9 -0
- package/dist/types/preset/web/providers/logger.d.ts.map +1 -0
- package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts +9 -0
- package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts.map +1 -0
- package/dist/types/tokens.d.ts +193 -0
- package/dist/types/tokens.d.ts.map +1 -0
- package/dist/types/utils/axios/index.d.ts +4 -0
- package/dist/types/utils/axios/index.d.ts.map +1 -0
- package/dist/types/utils/axios/middleware/log.d.ts +28 -0
- package/dist/types/utils/axios/middleware/log.d.ts.map +1 -0
- package/dist/types/utils/axios/sauce/index.d.ts +43 -0
- package/dist/types/utils/axios/sauce/index.d.ts.map +1 -0
- package/dist/types/utils/axios/utils/index.d.ts +10 -0
- package/dist/types/utils/axios/utils/index.d.ts.map +1 -0
- package/dist/types/utils/express/handler/health-check.d.ts +7 -0
- package/dist/types/utils/express/handler/health-check.d.ts.map +1 -0
- package/dist/types/utils/express/index.d.ts +3 -0
- package/dist/types/utils/express/index.d.ts.map +1 -0
- package/dist/types/utils/express/utils/index.d.ts +8 -0
- package/dist/types/utils/express/utils/index.d.ts.map +1 -0
- package/dist/types/utils/function.d.ts +29 -0
- package/dist/types/utils/function.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +4 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/{utils/number.d.ts → dist/types/utils/math.d.ts} +1 -0
- package/dist/types/utils/math.d.ts.map +1 -0
- package/dist/types/utils/react/error-handlers/index.d.ts +42 -0
- package/dist/types/utils/react/error-handlers/index.d.ts.map +1 -0
- package/dist/types/utils/react/index.d.ts +3 -0
- package/dist/types/utils/react/index.d.ts.map +1 -0
- package/dist/types/utils/redux/index.d.ts +4 -0
- package/dist/types/utils/redux/index.d.ts.map +1 -0
- package/dist/types/utils/redux/remote-data.d.ts +96 -0
- package/dist/types/utils/redux/remote-data.d.ts.map +1 -0
- package/dist/types/utils/redux-saga/index.d.ts +5 -0
- package/dist/types/utils/redux-saga/index.d.ts.map +1 -0
- package/dist/types/utils/redux-saga/middleware.d.ts +9 -0
- package/dist/types/utils/redux-saga/middleware.d.ts.map +1 -0
- package/{utils → dist/types/utils}/redux-saga/take-chain.d.ts +3 -0
- package/dist/types/utils/redux-saga/take-chain.d.ts.map +1 -0
- package/dist/types/utils/redux-saga/typed-effects.d.ts +101 -0
- package/dist/types/utils/redux-saga/typed-effects.d.ts.map +1 -0
- package/dist/types/utils/redux-saga/types.d.ts +37 -0
- package/dist/types/utils/redux-saga/types.d.ts.map +1 -0
- package/dist/types/utils/selectors/create-curried-selector.d.ts +22 -0
- package/dist/types/utils/selectors/create-curried-selector.d.ts.map +1 -0
- package/dist/types/utils/ssr/index.d.ts +43 -0
- package/dist/types/utils/ssr/index.d.ts.map +1 -0
- package/dist/types/utils/web/analytics/data-layer.d.ts +6 -0
- package/dist/types/utils/web/analytics/data-layer.d.ts.map +1 -0
- package/dist/types/utils/web/analytics/index.d.ts +3 -0
- package/dist/types/utils/web/analytics/index.d.ts.map +1 -0
- package/dist/types/utils/web/analytics/oko.d.ts +7 -0
- package/dist/types/utils/web/analytics/oko.d.ts.map +1 -0
- package/dist/types/utils/web/storage/index.d.ts +13 -0
- package/dist/types/utils/web/storage/index.d.ts.map +1 -0
- package/dist/types/utils/webpack/env/index.d.ts +20 -0
- package/dist/types/utils/webpack/env/index.d.ts.map +1 -0
- package/dist/types/utils/webpack/env/types.d.ts +12 -0
- package/dist/types/utils/webpack/env/types.d.ts.map +1 -0
- package/dist/types/utils/webpack/env/utils.d.ts +16 -0
- package/dist/types/utils/webpack/env/utils.d.ts.map +1 -0
- package/dist/types/utils/webpack/index.d.ts +5 -0
- package/dist/types/utils/webpack/index.d.ts.map +1 -0
- package/{utils → dist/types/utils}/webpack/module-federation/index.d.ts +10 -3
- package/dist/types/utils/webpack/module-federation/index.d.ts.map +1 -0
- package/{utils → dist/types/utils}/webpack/module-federation/types.d.ts +12 -3
- package/dist/types/utils/webpack/module-federation/types.d.ts.map +1 -0
- package/{utils → dist/types/utils}/webpack/module-federation/utils.d.ts +7 -0
- package/dist/types/utils/webpack/module-federation/utils.d.ts.map +1 -0
- package/package.json +267 -52
- package/cache/types.d.ts +0 -7
- package/cache/types.js +0 -3
- package/cache/types.js.map +0 -1
- package/config/base.js +0 -20
- package/config/base.js.map +0 -1
- package/config/browser.d.ts +0 -6
- package/config/browser.js +0 -13
- package/config/browser.js.map +0 -1
- package/config/node.d.ts +0 -6
- package/config/node.js +0 -19
- package/config/node.js.map +0 -1
- package/config/types.d.ts +0 -7
- package/config/types.js +0 -3
- package/config/types.js.map +0 -1
- package/config/utils.d.ts +0 -5
- package/config/utils.js +0 -12
- package/config/utils.js.map +0 -1
- package/di/application.js +0 -71
- package/di/application.js.map +0 -1
- package/di/container.js +0 -49
- package/di/container.js.map +0 -1
- package/di/errors.d.ts +0 -21
- package/di/errors.js +0 -33
- package/di/errors.js.map +0 -1
- package/di/index.d.ts +0 -6
- package/di/index.js +0 -16
- package/di/index.js.map +0 -1
- package/di/preset.d.ts +0 -9
- package/di/preset.js +0 -25
- package/di/preset.js.map +0 -1
- package/di/token.js +0 -17
- package/di/token.js.map +0 -1
- package/di/types.d.ts +0 -32
- package/di/types.js +0 -3
- package/di/types.js.map +0 -1
- package/error-tracker/browser.d.ts +0 -8
- package/error-tracker/browser.js +0 -40
- package/error-tracker/browser.js.map +0 -1
- package/error-tracker/node.d.ts +0 -8
- package/error-tracker/node.js +0 -40
- package/error-tracker/node.js.map +0 -1
- package/error-tracker/types.d.ts +0 -19
- package/error-tracker/types.js +0 -3
- package/error-tracker/types.js.map +0 -1
- package/error-tracker/utils.d.ts +0 -22
- package/error-tracker/utils.js +0 -31
- package/error-tracker/utils.js.map +0 -1
- package/http-client/middleware/cookie.d.ts +0 -19
- package/http-client/middleware/cookie.js +0 -62
- package/http-client/middleware/cookie.js.map +0 -1
- package/http-client/middleware/logging.d.ts +0 -15
- package/http-client/middleware/logging.js +0 -91
- package/http-client/middleware/logging.js.map +0 -1
- package/http-client/middleware/tracing.d.ts +0 -32
- package/http-client/middleware/tracing.js +0 -67
- package/http-client/middleware/tracing.js.map +0 -1
- package/http-client/sauce/index.d.ts +0 -27
- package/http-client/sauce/index.js +0 -33
- package/http-client/sauce/index.js.map +0 -1
- package/http-client/types.d.ts +0 -6
- package/http-client/types.js +0 -3
- package/http-client/types.js.map +0 -1
- package/http-client/utils.js +0 -20
- package/http-client/utils.js.map +0 -1
- package/http-server/constants.d.ts +0 -4
- package/http-server/constants.js +0 -8
- package/http-server/constants.js.map +0 -1
- package/http-server/handler/health-check.d.ts +0 -6
- package/http-server/handler/health-check.js +0 -15
- package/http-server/handler/health-check.js.map +0 -1
- package/http-server/middleware/logging.d.ts +0 -10
- package/http-server/middleware/logging.js +0 -31
- package/http-server/middleware/logging.js.map +0 -1
- package/http-server/middleware/metrics.d.ts +0 -23
- package/http-server/middleware/metrics.js +0 -60
- package/http-server/middleware/metrics.js.map +0 -1
- package/http-server/middleware/tracing.d.ts +0 -14
- package/http-server/middleware/tracing.js +0 -51
- package/http-server/middleware/tracing.js.map +0 -1
- package/http-server/template/index.d.ts +0 -1
- package/http-server/template/index.js +0 -36
- package/http-server/template/index.js.map +0 -1
- package/http-server/types.d.ts +0 -33
- package/http-server/types.js +0 -3
- package/http-server/types.js.map +0 -1
- package/http-server/utils.d.ts +0 -30
- package/http-server/utils.js +0 -100
- package/http-server/utils.js.map +0 -1
- package/logger/handler/console.d.ts +0 -8
- package/logger/handler/console.js +0 -36
- package/logger/handler/console.js.map +0 -1
- package/logger/handler/sentry.d.ts +0 -8
- package/logger/handler/sentry.js +0 -44
- package/logger/handler/sentry.js.map +0 -1
- package/logger/index.js +0 -31
- package/logger/index.js.map +0 -1
- package/logger/types.d.ts +0 -24
- package/logger/types.js +0 -3
- package/logger/types.js.map +0 -1
- package/metrics/constants.d.ts +0 -4
- package/metrics/constants.js +0 -8
- package/metrics/constants.js.map +0 -1
- package/metrics/node.d.ts +0 -18
- package/metrics/node.js +0 -74
- package/metrics/node.js.map +0 -1
- package/preset/browser/index.d.ts +0 -1
- package/preset/browser/index.js +0 -46
- package/preset/browser/index.js.map +0 -1
- package/preset/node/index.d.ts +0 -19
- package/preset/node/index.js +0 -122
- package/preset/node/index.js.map +0 -1
- package/preset/node/response.d.ts +0 -20
- package/preset/node/response.js +0 -82
- package/preset/node/response.js.map +0 -1
- package/saga-runner/index.d.ts +0 -8
- package/saga-runner/index.js +0 -79
- package/saga-runner/index.js.map +0 -1
- package/saga-runner/types.d.ts +0 -10
- package/saga-runner/types.js +0 -3
- package/saga-runner/types.js.map +0 -1
- package/tokens.d.ts +0 -48
- package/tokens.js +0 -50
- package/tokens.js.map +0 -1
- package/tracing/utils.d.ts +0 -9
- package/tracing/utils.js +0 -22
- package/tracing/utils.js.map +0 -1
- package/utils/browser/analytics/data-layer.d.ts +0 -5
- package/utils/browser/analytics/data-layer.js +0 -15
- package/utils/browser/analytics/data-layer.js.map +0 -1
- package/utils/browser/analytics/oko.d.ts +0 -12
- package/utils/browser/analytics/oko.js +0 -39
- package/utils/browser/analytics/oko.js.map +0 -1
- package/utils/browser/storage/index.d.ts +0 -4
- package/utils/browser/storage/index.js +0 -63
- package/utils/browser/storage/index.js.map +0 -1
- package/utils/number.js.map +0 -1
- package/utils/react/error-handlers/index.d.ts +0 -38
- package/utils/react/error-handlers/index.js +0 -48
- package/utils/react/error-handlers/index.js.map +0 -1
- package/utils/redux/remote-data.d.ts +0 -23
- package/utils/redux/remote-data.js +0 -28
- package/utils/redux/remote-data.js.map +0 -1
- package/utils/redux-saga/take-chain.js +0 -56
- package/utils/redux-saga/take-chain.js.map +0 -1
- package/utils/ssr/index.d.ts +0 -30
- package/utils/ssr/index.js +0 -51
- package/utils/ssr/index.js.map +0 -1
- package/utils/webpack/module-federation/index.js +0 -74
- package/utils/webpack/module-federation/index.js.map +0 -1
- package/utils/webpack/module-federation/types.js +0 -3
- package/utils/webpack/module-federation/types.js.map +0 -1
- package/utils/webpack/module-federation/utils.js +0 -36
- package/utils/webpack/module-federation/utils.js.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { SpanStatusCode } from '@opentelemetry/api';
|
|
2
|
+
import { ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from '@opentelemetry/semantic-conventions/incubating';
|
|
3
|
+
import { displayUrl } from "../../isomorphic/utils/display-url.js";
|
|
4
|
+
import { getSemanticHeaders } from "./telemetry.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Возвращает новый middleware для трассировки исходящих запросов.
|
|
8
|
+
* @param tracer Трейсер.
|
|
9
|
+
* @param rootContext Контекст.
|
|
10
|
+
* @return Middleware.
|
|
11
|
+
*/
|
|
12
|
+
export function axiosTracingMiddleware(tracer, rootContext) {
|
|
13
|
+
return async function trace(config, next, defaults) {
|
|
14
|
+
const {
|
|
15
|
+
method,
|
|
16
|
+
urlStr
|
|
17
|
+
} = getRequestInfo(config, defaults);
|
|
18
|
+
const url = new URL(urlStr);
|
|
19
|
+
const span = tracer.startSpan(`axios ${method} ${url}`, undefined, rootContext);
|
|
20
|
+
span.setAttributes({
|
|
21
|
+
[ATTR_URL_FULL]: url.href,
|
|
22
|
+
[ATTR_HTTP_REQUEST_METHOD]: method,
|
|
23
|
+
...getSemanticHeaders({
|
|
24
|
+
// @todo непонятно как доставать заголовки из defaults потому что там на одном уровне заголовки и таблицы заголовков
|
|
25
|
+
...defaults.headers.common,
|
|
26
|
+
...defaults.headers[method.toLowerCase()],
|
|
27
|
+
...config.headers
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
try {
|
|
31
|
+
await next(config);
|
|
32
|
+
} catch (error) {
|
|
33
|
+
span.setStatus({
|
|
34
|
+
code: SpanStatusCode.ERROR,
|
|
35
|
+
message: 'HTTP Request failed'
|
|
36
|
+
});
|
|
37
|
+
span.end();
|
|
38
|
+
|
|
39
|
+
// не прячем ошибку
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
span.end();
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Формирует базовые данные запроса.
|
|
48
|
+
* @param config Axios-конфиг запроса.
|
|
49
|
+
* @param defaults Базовый конфиг экземпляра Axios.
|
|
50
|
+
* @return Базовые данные запроса.
|
|
51
|
+
*/
|
|
52
|
+
export function getRequestInfo(config, defaults) {
|
|
53
|
+
const method = (config.method || 'GET').toUpperCase();
|
|
54
|
+
const baseURL = config.baseURL || defaults.baseURL || '';
|
|
55
|
+
return {
|
|
56
|
+
method,
|
|
57
|
+
urlStr: displayUrl(baseURL, config.url || defaults.url || '')
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=axios-tracing-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axios-tracing-middleware.js","names":["SpanStatusCode","ATTR_HTTP_REQUEST_METHOD","ATTR_URL_FULL","displayUrl","getSemanticHeaders","axiosTracingMiddleware","tracer","rootContext","trace","config","next","defaults","method","urlStr","getRequestInfo","url","URL","span","startSpan","undefined","setAttributes","href","headers","common","toLowerCase","error","setStatus","code","ERROR","message","end","toUpperCase","baseURL"],"sources":["../../../../../src/preset/node/utils/axios-tracing-middleware.ts"],"sourcesContent":["import type { AxiosInstance, AxiosRequestConfig, HeadersDefaults } from 'axios';\nimport type { Middleware } from 'middleware-axios';\nimport { Context, Tracer, SpanStatusCode } from '@opentelemetry/api';\nimport {\n ATTR_HTTP_REQUEST_METHOD,\n ATTR_URL_FULL,\n} from '@opentelemetry/semantic-conventions/incubating';\nimport { displayUrl } from '../../isomorphic/utils/display-url';\nimport { getSemanticHeaders } from './telemetry';\n\n/**\n * Возвращает новый middleware для трассировки исходящих запросов.\n * @param tracer Трейсер.\n * @param rootContext Контекст.\n * @return Middleware.\n */\nexport function axiosTracingMiddleware(tracer: Tracer, rootContext: Context): Middleware<any> {\n return async function trace(config, next, defaults) {\n const { method, urlStr } = getRequestInfo(config, defaults);\n const url = new URL(urlStr);\n const span = tracer.startSpan(`axios ${method} ${url}`, undefined, rootContext);\n\n span.setAttributes({\n [ATTR_URL_FULL]: url.href,\n [ATTR_HTTP_REQUEST_METHOD]: method,\n ...getSemanticHeaders({\n // @todo непонятно как доставать заголовки из defaults потому что там на одном уровне заголовки и таблицы заголовков\n ...defaults.headers.common,\n ...defaults.headers[method.toLowerCase() as keyof HeadersDefaults],\n ...config.headers,\n }),\n });\n\n try {\n await next(config);\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: 'HTTP Request failed',\n });\n\n span.end();\n\n // не прячем ошибку\n throw error;\n }\n\n span.end();\n };\n}\n\n/**\n * Формирует базовые данные запроса.\n * @param config Axios-конфиг запроса.\n * @param defaults Базовый конфиг экземпляра Axios.\n * @return Базовые данные запроса.\n */\nexport function getRequestInfo(\n config: AxiosRequestConfig,\n defaults: AxiosInstance['defaults'],\n): {\n method: string;\n urlStr: string;\n} {\n const method = (config.method || 'GET').toUpperCase();\n const baseURL = config.baseURL || defaults.baseURL || '';\n\n return {\n method,\n urlStr: displayUrl(baseURL, config.url || defaults.url || ''),\n };\n}\n"],"mappings":"AAEA,SAA0BA,cAAc,QAAQ,oBAAoB;AACpE,SACEC,wBAAwB,EACxBC,aAAa,QACR,gDAAgD;AACvD,SAASC,UAAU,QAAQ,uCAAoC;AAC/D,SAASC,kBAAkB,QAAQ,gBAAa;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,MAAc,EAAEC,WAAoB,EAAmB;EAC5F,OAAO,eAAeC,KAAKA,CAACC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAE;IAClD,MAAM;MAAEC,MAAM;MAAEC;IAAO,CAAC,GAAGC,cAAc,CAACL,MAAM,EAAEE,QAAQ,CAAC;IAC3D,MAAMI,GAAG,GAAG,IAAIC,GAAG,CAACH,MAAM,CAAC;IAC3B,MAAMI,IAAI,GAAGX,MAAM,CAACY,SAAS,CAAC,SAASN,MAAM,IAAIG,GAAG,EAAE,EAAEI,SAAS,EAAEZ,WAAW,CAAC;IAE/EU,IAAI,CAACG,aAAa,CAAC;MACjB,CAAClB,aAAa,GAAGa,GAAG,CAACM,IAAI;MACzB,CAACpB,wBAAwB,GAAGW,MAAM;MAClC,GAAGR,kBAAkB,CAAC;QACpB;QACA,GAAGO,QAAQ,CAACW,OAAO,CAACC,MAAM;QAC1B,GAAGZ,QAAQ,CAACW,OAAO,CAACV,MAAM,CAACY,WAAW,CAAC,CAAC,CAA0B;QAClE,GAAGf,MAAM,CAACa;MACZ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI;MACF,MAAMZ,IAAI,CAACD,MAAM,CAAC;IACpB,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACdR,IAAI,CAACS,SAAS,CAAC;QACbC,IAAI,EAAE3B,cAAc,CAAC4B,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,IAAI,CAACa,GAAG,CAAC,CAAC;;MAEV;MACA,MAAML,KAAK;IACb;IAEAR,IAAI,CAACa,GAAG,CAAC,CAAC;EACZ,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAShB,cAAcA,CAC5BL,MAA0B,EAC1BE,QAAmC,EAInC;EACA,MAAMC,MAAM,GAAG,CAACH,MAAM,CAACG,MAAM,IAAI,KAAK,EAAEmB,WAAW,CAAC,CAAC;EACrD,MAAMC,OAAO,GAAGvB,MAAM,CAACuB,OAAO,IAAIrB,QAAQ,CAACqB,OAAO,IAAI,EAAE;EAExD,OAAO;IACLpB,MAAM;IACNC,MAAM,EAAEV,UAAU,CAAC6B,OAAO,EAAEvB,MAAM,CAACM,GAAG,IAAIJ,QAAQ,CAACI,GAAG,IAAI,EAAE;EAC9D,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Наивная реализация обёртки, превращающей EventEmitter в EventTarget.
|
|
3
|
+
*/
|
|
4
|
+
export class EmitterAsTarget extends EventTarget {
|
|
5
|
+
/** @inheritdoc */
|
|
6
|
+
constructor(emitter) {
|
|
7
|
+
super();
|
|
8
|
+
this.emitter = emitter;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** @inheritdoc */
|
|
12
|
+
addEventListener(type, callback, options) {
|
|
13
|
+
if (!callback) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const listener = typeof callback === 'function' ? callback : callback.handleEvent;
|
|
17
|
+
switch (true) {
|
|
18
|
+
case typeof options === 'object' && options !== null && options.once:
|
|
19
|
+
{
|
|
20
|
+
this.emitter.once(type, listener);
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
default:
|
|
24
|
+
{
|
|
25
|
+
this.emitter.on(type, listener);
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** @inheritdoc */
|
|
32
|
+
removeEventListener(type, callback) {
|
|
33
|
+
if (!callback) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const listener = typeof callback === 'function' ? callback : callback.handleEvent;
|
|
37
|
+
this.emitter.removeListener(type, listener);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** @inheritdoc */
|
|
41
|
+
dispatchEvent(event) {
|
|
42
|
+
return this.emitter.emit(event.type, event);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=emitter-as-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter-as-target.js","names":["EmitterAsTarget","EventTarget","constructor","emitter","addEventListener","type","callback","options","listener","handleEvent","once","on","removeEventListener","removeListener","dispatchEvent","event","emit"],"sources":["../../../../../src/preset/node/utils/emitter-as-target.ts"],"sourcesContent":["import type { EventEmitter } from 'node:events';\n\n/**\n * Наивная реализация обёртки, превращающей EventEmitter в EventTarget.\n */\nexport class EmitterAsTarget extends EventTarget {\n private emitter: EventEmitter;\n\n /** @inheritdoc */\n constructor(emitter: EventEmitter) {\n super();\n this.emitter = emitter;\n }\n\n /** @inheritdoc */\n addEventListener(\n type: string,\n callback: EventListenerOrEventListenerObject | null,\n options?: AddEventListenerOptions | boolean,\n ) {\n if (!callback) {\n return;\n }\n\n const listener = typeof callback === 'function' ? callback : callback.handleEvent;\n\n switch (true) {\n case typeof options === 'object' && options !== null && options.once: {\n this.emitter.once(type, listener as (...args: any[]) => void);\n break;\n }\n default: {\n this.emitter.on(type, listener as (...args: any[]) => void);\n break;\n }\n }\n }\n\n /** @inheritdoc */\n removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null) {\n if (!callback) {\n return;\n }\n\n const listener = typeof callback === 'function' ? callback : callback.handleEvent;\n\n this.emitter.removeListener(type, listener as (...args: any[]) => void);\n }\n\n /** @inheritdoc */\n dispatchEvent(event: Event) {\n return this.emitter.emit(event.type, event);\n }\n}\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,SAASC,WAAW,CAAC;EAG/C;EACAC,WAAWA,CAACC,OAAqB,EAAE;IACjC,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;;EAEA;EACAC,gBAAgBA,CACdC,IAAY,EACZC,QAAmD,EACnDC,OAA2C,EAC3C;IACA,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IAEA,MAAME,QAAQ,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,GAAGA,QAAQ,CAACG,WAAW;IAEjF,QAAQ,IAAI;MACV,KAAK,OAAOF,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,IAAI,IAAIA,OAAO,CAACG,IAAI;QAAE;UACpE,IAAI,CAACP,OAAO,CAACO,IAAI,CAACL,IAAI,EAAEG,QAAoC,CAAC;UAC7D;QACF;MACA;QAAS;UACP,IAAI,CAACL,OAAO,CAACQ,EAAE,CAACN,IAAI,EAAEG,QAAoC,CAAC;UAC3D;QACF;IACF;EACF;;EAEA;EACAI,mBAAmBA,CAACP,IAAY,EAAEC,QAAmD,EAAE;IACrF,IAAI,CAACA,QAAQ,EAAE;MACb;IACF;IAEA,MAAME,QAAQ,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,GAAGA,QAAQ,CAACG,WAAW;IAEjF,IAAI,CAACN,OAAO,CAACU,cAAc,CAACR,IAAI,EAAEG,QAAoC,CAAC;EACzE;;EAEA;EACAM,aAAaA,CAACC,KAAY,EAAE;IAC1B,OAAO,IAAI,CAACZ,OAAO,CAACa,IAAI,CAACD,KAAK,CAACV,IAAI,EAAEU,KAAK,CAAC;EAC7C;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import net from 'node:net';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Определяет IP входящего запроса.
|
|
5
|
+
* @param request Входящий запрос.
|
|
6
|
+
* @return IP.
|
|
7
|
+
*/
|
|
8
|
+
export function getClientIp(request) {
|
|
9
|
+
const headerValue = request.header('x-client-ip') || request.header('x-forwarded-for') || request.socket.remoteAddress || '';
|
|
10
|
+
return net.isIP(headerValue) ? headerValue : undefined;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=get-client-ip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-client-ip.js","names":["net","getClientIp","request","headerValue","header","socket","remoteAddress","isIP","undefined"],"sources":["../../../../../src/preset/node/utils/get-client-ip.ts"],"sourcesContent":["import type express from 'express';\nimport net from 'node:net';\n\n/**\n * Определяет IP входящего запроса.\n * @param request Входящий запрос.\n * @return IP.\n */\nexport function getClientIp(request: express.Request): string | undefined {\n const headerValue =\n request.header('x-client-ip') ||\n request.header('x-forwarded-for') ||\n request.socket.remoteAddress ||\n '';\n\n return net.isIP(headerValue) ? headerValue : undefined;\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,UAAU;;AAE1B;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,OAAwB,EAAsB;EACxE,MAAMC,WAAW,GACfD,OAAO,CAACE,MAAM,CAAC,aAAa,CAAC,IAC7BF,OAAO,CAACE,MAAM,CAAC,iBAAiB,CAAC,IACjCF,OAAO,CAACG,MAAM,CAACC,aAAa,IAC5B,EAAE;EAEJ,OAAON,GAAG,CAACO,IAAI,CAACJ,WAAW,CAAC,GAAGA,WAAW,GAAGK,SAAS;AACxD","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { SpanStatusCode } from '@opentelemetry/api';
|
|
2
|
+
import { ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from '@opentelemetry/semantic-conventions';
|
|
3
|
+
import { getSemanticHeaders } from "./telemetry.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Вернет новый промежуточный слой трассировки для fetch.
|
|
7
|
+
* @param tracer Трассировщик.
|
|
8
|
+
* @param rootContext Контекст.
|
|
9
|
+
* @return Промежуточный слой трассировки.
|
|
10
|
+
*/
|
|
11
|
+
export function getFetchTracing(tracer, rootContext) {
|
|
12
|
+
return async (request, next) => {
|
|
13
|
+
const url = new URL(request.url);
|
|
14
|
+
const span = tracer.startSpan(`fetch ${request.method} ${url.pathname}`, undefined, rootContext);
|
|
15
|
+
span.setAttributes({
|
|
16
|
+
[ATTR_URL_FULL]: url.href,
|
|
17
|
+
[ATTR_HTTP_REQUEST_METHOD]: request.method,
|
|
18
|
+
...getSemanticHeaders(request.headers)
|
|
19
|
+
});
|
|
20
|
+
try {
|
|
21
|
+
const response = await next(request);
|
|
22
|
+
span.end();
|
|
23
|
+
return response;
|
|
24
|
+
} catch (error) {
|
|
25
|
+
span.setStatus({
|
|
26
|
+
code: SpanStatusCode.ERROR,
|
|
27
|
+
message: 'HTTP Request failed'
|
|
28
|
+
});
|
|
29
|
+
span.end();
|
|
30
|
+
|
|
31
|
+
// ВАЖНО: не прячем ошибку
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=get-fetch-tracing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-fetch-tracing.js","names":["SpanStatusCode","ATTR_HTTP_REQUEST_METHOD","ATTR_URL_FULL","getSemanticHeaders","getFetchTracing","tracer","rootContext","request","next","url","URL","span","startSpan","method","pathname","undefined","setAttributes","href","headers","response","end","error","setStatus","code","ERROR","message"],"sources":["../../../../../src/preset/node/utils/get-fetch-tracing.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\nimport { SpanStatusCode, type Context, type Tracer } from '@opentelemetry/api';\nimport { ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from '@opentelemetry/semantic-conventions';\nimport { getSemanticHeaders } from './telemetry';\n\n/**\n * Вернет новый промежуточный слой трассировки для fetch.\n * @param tracer Трассировщик.\n * @param rootContext Контекст.\n * @return Промежуточный слой трассировки.\n */\nexport function getFetchTracing(tracer: Tracer, rootContext: Context): Middleware {\n return async (request, next) => {\n const url = new URL(request.url);\n const span = tracer.startSpan(\n `fetch ${request.method} ${url.pathname}`,\n undefined,\n rootContext,\n );\n\n span.setAttributes({\n [ATTR_URL_FULL]: url.href,\n [ATTR_HTTP_REQUEST_METHOD]: request.method,\n ...getSemanticHeaders(request.headers),\n });\n\n try {\n const response = await next(request);\n\n span.end();\n\n return response;\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: 'HTTP Request failed',\n });\n\n span.end();\n\n // ВАЖНО: не прячем ошибку\n throw error;\n }\n };\n}\n"],"mappings":"AACA,SAASA,cAAc,QAAmC,oBAAoB;AAC9E,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,qCAAqC;AAC7F,SAASC,kBAAkB,QAAQ,gBAAa;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAc,EAAEC,WAAoB,EAAc;EAChF,OAAO,OAAOC,OAAO,EAAEC,IAAI,KAAK;IAC9B,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACH,OAAO,CAACE,GAAG,CAAC;IAChC,MAAME,IAAI,GAAGN,MAAM,CAACO,SAAS,CAC3B,SAASL,OAAO,CAACM,MAAM,IAAIJ,GAAG,CAACK,QAAQ,EAAE,EACzCC,SAAS,EACTT,WACF,CAAC;IAEDK,IAAI,CAACK,aAAa,CAAC;MACjB,CAACd,aAAa,GAAGO,GAAG,CAACQ,IAAI;MACzB,CAAChB,wBAAwB,GAAGM,OAAO,CAACM,MAAM;MAC1C,GAAGV,kBAAkB,CAACI,OAAO,CAACW,OAAO;IACvC,CAAC,CAAC;IAEF,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAMX,IAAI,CAACD,OAAO,CAAC;MAEpCI,IAAI,CAACS,GAAG,CAAC,CAAC;MAEV,OAAOD,QAAQ;IACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdV,IAAI,CAACW,SAAS,CAAC;QACbC,IAAI,EAAEvB,cAAc,CAACwB,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFd,IAAI,CAACS,GAAG,CAAC,CAAC;;MAEV;MACA,MAAMC,KAAK;IACb;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getClientIp } from "./get-client-ip.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Формирует заголовки для исходящих запросов с сервера по соглашению.
|
|
5
|
+
* @param config Конфиг.
|
|
6
|
+
* @param request Входящий запрос.
|
|
7
|
+
* @return Заголовки для исходящих запросов.
|
|
8
|
+
*/
|
|
9
|
+
export function getForwardedHeaders(config, request) {
|
|
10
|
+
const result = {
|
|
11
|
+
'User-Agent': `simaland-${config.appName}/${config.appVersion}`
|
|
12
|
+
};
|
|
13
|
+
const clientIp = getClientIp(request);
|
|
14
|
+
if (clientIp) {
|
|
15
|
+
result['X-Client-Ip'] = clientIp;
|
|
16
|
+
}
|
|
17
|
+
const cookie = request.header('cookie');
|
|
18
|
+
if (cookie) {
|
|
19
|
+
result.Cookie = cookie;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// добавляем специфичные заголовки
|
|
23
|
+
for (const key of Object.keys(request.headers)) {
|
|
24
|
+
const value = request.header(key);
|
|
25
|
+
if (key.toLowerCase().startsWith('simaland-') && key.toLowerCase() !== 'simaland-params' && value) {
|
|
26
|
+
result[key] = value;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=get-forwarded-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-forwarded-headers.js","names":["getClientIp","getForwardedHeaders","config","request","result","appName","appVersion","clientIp","cookie","header","Cookie","key","Object","keys","headers","value","toLowerCase","startsWith"],"sources":["../../../../../src/preset/node/utils/get-forwarded-headers.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport type express from 'express';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Формирует заголовки для исходящих запросов с сервера по соглашению.\n * @param config Конфиг.\n * @param request Входящий запрос.\n * @return Заголовки для исходящих запросов.\n */\nexport function getForwardedHeaders(\n config: BaseConfig,\n request: express.Request,\n): Record<string, string> {\n const result: Record<string, string> = {\n 'User-Agent': `simaland-${config.appName}/${config.appVersion}`,\n };\n\n const clientIp = getClientIp(request);\n if (clientIp) {\n result['X-Client-Ip'] = clientIp;\n }\n\n const cookie = request.header('cookie');\n if (cookie) {\n result.Cookie = cookie;\n }\n\n // добавляем специфичные заголовки\n for (const key of Object.keys(request.headers)) {\n const value = request.header(key);\n\n if (\n key.toLowerCase().startsWith('simaland-') &&\n key.toLowerCase() !== 'simaland-params' &&\n value\n ) {\n result[key] = value;\n }\n }\n\n return result;\n}\n"],"mappings":"AAEA,SAASA,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,MAAkB,EAClBC,OAAwB,EACA;EACxB,MAAMC,MAA8B,GAAG;IACrC,YAAY,EAAE,YAAYF,MAAM,CAACG,OAAO,IAAIH,MAAM,CAACI,UAAU;EAC/D,CAAC;EAED,MAAMC,QAAQ,GAAGP,WAAW,CAACG,OAAO,CAAC;EACrC,IAAII,QAAQ,EAAE;IACZH,MAAM,CAAC,aAAa,CAAC,GAAGG,QAAQ;EAClC;EAEA,MAAMC,MAAM,GAAGL,OAAO,CAACM,MAAM,CAAC,QAAQ,CAAC;EACvC,IAAID,MAAM,EAAE;IACVJ,MAAM,CAACM,MAAM,GAAGF,MAAM;EACxB;;EAEA;EACA,KAAK,MAAMG,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACV,OAAO,CAACW,OAAO,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGZ,OAAO,CAACM,MAAM,CAACE,GAAG,CAAC;IAEjC,IACEA,GAAG,CAACK,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,IACzCN,GAAG,CAACK,WAAW,CAAC,CAAC,KAAK,iBAAiB,IACvCD,KAAK,EACL;MACAX,MAAM,CAACO,GAAG,CAAC,GAAGI,KAAK;IACrB;EACF;EAEA,OAAOX,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import PromClient from 'prom-client';
|
|
2
|
+
export const LABEL_NAMES = {
|
|
3
|
+
httpResponse: ['version', 'route', 'code', 'method'],
|
|
4
|
+
pageRender: ['version', 'route', 'method']
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Возвращает метрики обработки входящего http-запроса.
|
|
9
|
+
* @return Метрики.
|
|
10
|
+
*/
|
|
11
|
+
export function getHandlerMetrics() {
|
|
12
|
+
const requestCount = new PromClient.Counter({
|
|
13
|
+
name: 'http_request_count',
|
|
14
|
+
help: 'Incoming HTTP request count',
|
|
15
|
+
labelNames: LABEL_NAMES.httpResponse
|
|
16
|
+
});
|
|
17
|
+
const responseDuration = new PromClient.Histogram({
|
|
18
|
+
name: 'http_response_duration_ms',
|
|
19
|
+
help: 'Duration of incoming HTTP requests in ms',
|
|
20
|
+
labelNames: LABEL_NAMES.httpResponse,
|
|
21
|
+
buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000]
|
|
22
|
+
});
|
|
23
|
+
const renderDuration = new PromClient.Histogram({
|
|
24
|
+
name: 'render_duration_ms',
|
|
25
|
+
help: 'Duration of SSR ms',
|
|
26
|
+
labelNames: LABEL_NAMES.pageRender,
|
|
27
|
+
buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500]
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
requestCount,
|
|
31
|
+
renderDuration,
|
|
32
|
+
responseDuration
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=get-handler-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-handler-metrics.js","names":["PromClient","LABEL_NAMES","httpResponse","pageRender","getHandlerMetrics","requestCount","Counter","name","help","labelNames","responseDuration","Histogram","buckets","renderDuration"],"sources":["../../../../../src/preset/node/utils/get-handler-metrics.ts"],"sourcesContent":["import PromClient from 'prom-client';\n\nexport const LABEL_NAMES = {\n httpResponse: ['version', 'route', 'code', 'method'],\n pageRender: ['version', 'route', 'method'],\n} as const;\n\n/**\n * Возвращает метрики обработки входящего http-запроса.\n * @return Метрики.\n */\nexport function getHandlerMetrics() {\n const requestCount = new PromClient.Counter({\n name: 'http_request_count',\n help: 'Incoming HTTP request count',\n labelNames: LABEL_NAMES.httpResponse,\n });\n\n const responseDuration = new PromClient.Histogram({\n name: 'http_response_duration_ms',\n help: 'Duration of incoming HTTP requests in ms',\n labelNames: LABEL_NAMES.httpResponse,\n buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000],\n });\n\n const renderDuration = new PromClient.Histogram({\n name: 'render_duration_ms',\n help: 'Duration of SSR ms',\n labelNames: LABEL_NAMES.pageRender,\n buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500],\n });\n\n return {\n requestCount,\n renderDuration,\n responseDuration,\n };\n}\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,aAAa;AAEpC,OAAO,MAAMC,WAAW,GAAG;EACzBC,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;EACpDC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ;AAC3C,CAAU;;AAEV;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,YAAY,GAAG,IAAIL,UAAU,CAACM,OAAO,CAAC;IAC1CC,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,6BAA6B;IACnCC,UAAU,EAAER,WAAW,CAACC;EAC1B,CAAC,CAAC;EAEF,MAAMQ,gBAAgB,GAAG,IAAIV,UAAU,CAACW,SAAS,CAAC;IAChDJ,IAAI,EAAE,2BAA2B;IACjCC,IAAI,EAAE,0CAA0C;IAChDC,UAAU,EAAER,WAAW,CAACC,YAAY;IACpCU,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;EACtD,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,IAAIb,UAAU,CAACW,SAAS,CAAC;IAC9CJ,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,oBAAoB;IAC1BC,UAAU,EAAER,WAAW,CAACE,UAAU;IAClCS,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;EACjD,CAAC,CAAC;EAEF,OAAO;IACLP,YAAY;IACZQ,cAAc;IACdH;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Определит формат ответа.
|
|
3
|
+
* @param req Запрос.
|
|
4
|
+
* @return Формат.
|
|
5
|
+
* @todo Перенести в preset/node (или в preset/server но с именем getPageResponseFormatExpress?).
|
|
6
|
+
* @deprecated Стоит использовать npm:accepts.
|
|
7
|
+
*/
|
|
8
|
+
export function getPageResponseFormat(req) {
|
|
9
|
+
let result = 'html';
|
|
10
|
+
if ((req.header('accept') || '').toLowerCase().includes('application/json')) {
|
|
11
|
+
result = 'json';
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=get-page-response-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-page-response-format.js","names":["getPageResponseFormat","req","result","header","toLowerCase","includes"],"sources":["../../../../../src/preset/node/utils/get-page-response-format.tsx"],"sourcesContent":["import type express from 'express';\n\n/**\n * Определит формат ответа.\n * @param req Запрос.\n * @return Формат.\n * @todo Перенести в preset/node (или в preset/server но с именем getPageResponseFormatExpress?).\n * @deprecated Стоит использовать npm:accepts.\n */\nexport function getPageResponseFormat(req: express.Request): 'html' | 'json' {\n let result: 'html' | 'json' = 'html';\n\n if ((req.header('accept') || '').toLowerCase().includes('application/json')) {\n result = 'json';\n }\n\n return result;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAACC,GAAoB,EAAmB;EAC3E,IAAIC,MAAuB,GAAG,MAAM;EAEpC,IAAI,CAACD,GAAG,CAACE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IAC3EH,MAAM,GAAG,MAAM;EACjB;EAEA,OAAOA,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { PAGE_HANDLER_EVENT_TYPE } from "../../server/constants.js";
|
|
2
|
+
import { toMilliseconds } from "./../../../utils/index.js";
|
|
3
|
+
import { getHandlerMetrics } from "./get-handler-metrics.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Возвращает новый промежуточный слой метрки входящего http-запроса.
|
|
7
|
+
* @param config Конфигурация.
|
|
8
|
+
* @return Промежуточный слой.
|
|
9
|
+
*/
|
|
10
|
+
export function getServeMeasuring(config) {
|
|
11
|
+
const {
|
|
12
|
+
requestCount,
|
|
13
|
+
renderDuration,
|
|
14
|
+
responseDuration
|
|
15
|
+
} = getHandlerMetrics();
|
|
16
|
+
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
const getResponseLabels = (req, res) => ({
|
|
19
|
+
version: config.appVersion,
|
|
20
|
+
route: req.url,
|
|
21
|
+
code: res.status,
|
|
22
|
+
method: req.method
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
const getRenderLabels = request => ({
|
|
27
|
+
version: config.appVersion,
|
|
28
|
+
method: request.method,
|
|
29
|
+
route: request.url
|
|
30
|
+
});
|
|
31
|
+
return async (request, next, context) => {
|
|
32
|
+
const responseStart = process.hrtime.bigint();
|
|
33
|
+
let renderStart = 0n;
|
|
34
|
+
context.events.addEventListener(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {
|
|
35
|
+
renderStart = process.hrtime.bigint();
|
|
36
|
+
}, {
|
|
37
|
+
once: true
|
|
38
|
+
});
|
|
39
|
+
context.events.addEventListener(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {
|
|
40
|
+
const renderFinish = process.hrtime.bigint();
|
|
41
|
+
renderDuration.observe(getRenderLabels(request), toMilliseconds(renderFinish - renderStart));
|
|
42
|
+
}, {
|
|
43
|
+
once: true
|
|
44
|
+
});
|
|
45
|
+
const response = await next(request);
|
|
46
|
+
const responseFinish = process.hrtime.bigint();
|
|
47
|
+
responseDuration.observe(getResponseLabels(request, response), toMilliseconds(responseFinish - responseStart));
|
|
48
|
+
requestCount.inc(getResponseLabels(request, response), 1);
|
|
49
|
+
return response;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=get-serve-measuring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-serve-measuring.js","names":["PAGE_HANDLER_EVENT_TYPE","toMilliseconds","getHandlerMetrics","getServeMeasuring","config","requestCount","renderDuration","responseDuration","getResponseLabels","req","res","version","appVersion","route","url","code","status","method","getRenderLabels","request","next","context","responseStart","process","hrtime","bigint","renderStart","events","addEventListener","once","renderFinish","observe","response","responseFinish","inc"],"sources":["../../../../../src/preset/node/utils/get-serve-measuring.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport type { ServerMiddleware } from '../../server/types';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server/constants';\nimport { toMilliseconds } from '../../../utils';\nimport { LABEL_NAMES, getHandlerMetrics } from './get-handler-metrics';\n\n/**\n * Возвращает новый промежуточный слой метрки входящего http-запроса.\n * @param config Конфигурация.\n * @return Промежуточный слой.\n */\nexport function getServeMeasuring(config: BaseConfig): ServerMiddleware {\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /** @inheritdoc */\n const getResponseLabels = (req: Request, res: Response) =>\n ({\n version: config.appVersion,\n route: req.url,\n code: res.status,\n method: req.method,\n }) satisfies Record<(typeof LABEL_NAMES.httpResponse)[number], string | number>;\n\n /** @inheritdoc */\n const getRenderLabels = (request: Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return async (request, next, context) => {\n const responseStart = process.hrtime.bigint();\n let renderStart = 0n;\n\n context.events.addEventListener(\n PAGE_HANDLER_EVENT_TYPE.renderStart,\n () => {\n renderStart = process.hrtime.bigint();\n },\n { once: true },\n );\n\n context.events.addEventListener(\n PAGE_HANDLER_EVENT_TYPE.renderFinish,\n () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(\n getRenderLabels(request),\n toMilliseconds(renderFinish - renderStart),\n );\n },\n { once: true },\n );\n\n const response = await next(request);\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(\n getResponseLabels(request, response),\n toMilliseconds(responseFinish - responseStart),\n );\n\n requestCount.inc(getResponseLabels(request, response), 1);\n\n return response;\n };\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ,2BAAwB;AAChE,SAASC,cAAc,QAAQ,2BAAgB;AAC/C,SAAsBC,iBAAiB,QAAQ,0BAAuB;;AAEtE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAkB,EAAoB;EACtE,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAGL,iBAAiB,CAAC,CAAC;;EAE9E;EACA,MAAMM,iBAAiB,GAAGA,CAACC,GAAY,EAAEC,GAAa,MACnD;IACCC,OAAO,EAAEP,MAAM,CAACQ,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,GAAG;IACdC,IAAI,EAAEL,GAAG,CAACM,MAAM;IAChBC,MAAM,EAAER,GAAG,CAACQ;EACd,CAAC,CAA8E;;EAEjF;EACA,MAAMC,eAAe,GAAIC,OAAgB,KACtC;IACCR,OAAO,EAAEP,MAAM,CAACQ,UAAU;IAC1BK,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBJ,KAAK,EAAEM,OAAO,CAACL;EACjB,CAAC,CAA4E;EAE/E,OAAO,OAAOK,OAAO,EAAEC,IAAI,EAAEC,OAAO,KAAK;IACvC,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAC7C,IAAIC,WAAW,GAAG,EAAE;IAEpBL,OAAO,CAACM,MAAM,CAACC,gBAAgB,CAC7B5B,uBAAuB,CAAC0B,WAAW,EACnC,MAAM;MACJA,WAAW,GAAGH,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACvC,CAAC,EACD;MAAEI,IAAI,EAAE;IAAK,CACf,CAAC;IAEDR,OAAO,CAACM,MAAM,CAACC,gBAAgB,CAC7B5B,uBAAuB,CAAC8B,YAAY,EACpC,MAAM;MACJ,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE5CnB,cAAc,CAACyB,OAAO,CACpBb,eAAe,CAACC,OAAO,CAAC,EACxBlB,cAAc,CAAC6B,YAAY,GAAGJ,WAAW,CAC3C,CAAC;IACH,CAAC,EACD;MAAEG,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMG,QAAQ,GAAG,MAAMZ,IAAI,CAACD,OAAO,CAAC;IACpC,MAAMc,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE9ClB,gBAAgB,CAACwB,OAAO,CACtBvB,iBAAiB,CAACW,OAAO,EAAEa,QAAQ,CAAC,EACpC/B,cAAc,CAACgC,cAAc,GAAGX,aAAa,CAC/C,CAAC;IAEDjB,YAAY,CAAC6B,GAAG,CAAC1B,iBAAiB,CAACW,OAAO,EAAEa,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzD,OAAOA,QAAQ;EACjB,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { KnownToken } from "../../../tokens.js";
|
|
2
|
+
import { CURRENT_APP } from "./../../../di/index.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Возвращает express-handler, создающий дочернее di-приложение при запросе.
|
|
6
|
+
* @param getApp Должна вернуть di-приложения запроса.
|
|
7
|
+
* @return Обработчик.
|
|
8
|
+
*/
|
|
9
|
+
export function HandlerProvider(getApp) {
|
|
10
|
+
return resolve => {
|
|
11
|
+
const parent = resolve(CURRENT_APP);
|
|
12
|
+
return (req, res, next) => {
|
|
13
|
+
const app = getApp();
|
|
14
|
+
app.attach(parent);
|
|
15
|
+
app.bind(KnownToken.ExpressHandler.context).toValue({
|
|
16
|
+
req,
|
|
17
|
+
res,
|
|
18
|
+
next
|
|
19
|
+
});
|
|
20
|
+
app.get(KnownToken.ExpressHandler.main)(req, res, next);
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=handler-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler-provider.js","names":["KnownToken","CURRENT_APP","HandlerProvider","getApp","resolve","parent","req","res","next","app","attach","bind","ExpressHandler","context","toValue","get","main"],"sources":["../../../../../src/preset/node/utils/handler-provider.ts"],"sourcesContent":["import type express from 'express';\nimport { KnownToken } from '../../../tokens';\nimport { CURRENT_APP, type Application, type Provider, type Resolve } from '../../../di';\n\n/**\n * Возвращает express-handler, создающий дочернее di-приложение при запросе.\n * @param getApp Должна вернуть di-приложения запроса.\n * @return Обработчик.\n */\nexport function HandlerProvider(getApp: () => Application): Provider<express.Handler> {\n return (resolve: Resolve): express.Handler => {\n const parent = resolve(CURRENT_APP);\n\n return (req, res, next) => {\n const app = getApp();\n\n app.attach(parent);\n app.bind(KnownToken.ExpressHandler.context).toValue({ req, res, next });\n app.get(KnownToken.ExpressHandler.main)(req, res, next);\n };\n };\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,WAAW,QAAuD,wBAAa;;AAExF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAyB,EAA6B;EACpF,OAAQC,OAAgB,IAAsB;IAC5C,MAAMC,MAAM,GAAGD,OAAO,CAACH,WAAW,CAAC;IAEnC,OAAO,CAACK,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;MACzB,MAAMC,GAAG,GAAGN,MAAM,CAAC,CAAC;MAEpBM,GAAG,CAACC,MAAM,CAACL,MAAM,CAAC;MAClBI,GAAG,CAACE,IAAI,CAACX,UAAU,CAACY,cAAc,CAACC,OAAO,CAAC,CAACC,OAAO,CAAC;QAAER,GAAG;QAAEC,GAAG;QAAEC;MAAK,CAAC,CAAC;MACvEC,GAAG,CAACM,GAAG,CAACf,UAAU,CAACY,cAAc,CAACI,IAAI,CAAC,CAACV,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;IACzD,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ATTR_HTTP_REQUEST_HEADER } from '@opentelemetry/semantic-conventions';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Формирует данные заголовков согласно семантике.
|
|
5
|
+
* @todo Возможно стоит убрать cookie/Cookie.
|
|
6
|
+
* @param headers Объект заголовков запроса.
|
|
7
|
+
* @return Данные заголовков.
|
|
8
|
+
*/
|
|
9
|
+
export function getSemanticHeaders(headers) {
|
|
10
|
+
const result = Object.entries(headers).reduce((acc, [key, value]) => {
|
|
11
|
+
if (value || typeof value === 'number') {
|
|
12
|
+
acc[ATTR_HTTP_REQUEST_HEADER(key)] = value;
|
|
13
|
+
}
|
|
14
|
+
return acc;
|
|
15
|
+
}, {});
|
|
16
|
+
return Object.keys(result).length ? result : null;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","names":["ATTR_HTTP_REQUEST_HEADER","getSemanticHeaders","headers","result","Object","entries","reduce","acc","key","value","keys","length"],"sources":["../../../../../src/preset/node/utils/telemetry.ts"],"sourcesContent":["import { ATTR_HTTP_REQUEST_HEADER } from '@opentelemetry/semantic-conventions';\n\n/**\n * Формирует данные заголовков согласно семантике.\n * @todo Возможно стоит убрать cookie/Cookie.\n * @param headers Объект заголовков запроса.\n * @return Данные заголовков.\n */\nexport function getSemanticHeaders(headers: Record<string, any>): Record<string, string> | null {\n const result = Object.entries(headers).reduce<Record<string, string>>((acc, [key, value]) => {\n if (value || typeof value === 'number') {\n acc[ATTR_HTTP_REQUEST_HEADER(key)] = value;\n }\n return acc;\n }, {});\n\n return Object.keys(result).length ? result : null;\n}\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,qCAAqC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,OAA4B,EAAiC;EAC9F,MAAMC,MAAM,GAAGC,MAAM,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI,MAAM,CAAyB,CAACC,GAAG,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IAC3F,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCF,GAAG,CAACP,wBAAwB,CAACQ,GAAG,CAAC,CAAC,GAAGC,KAAK;IAC5C;IACA,OAAOF,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,OAAOH,MAAM,CAACM,IAAI,CAACP,MAAM,CAAC,CAACQ,MAAM,GAAGR,MAAM,GAAG,IAAI;AACnD","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { createPreset } from "./../../di/index.js";
|
|
2
|
+
import { KnownToken } from "../../tokens.js";
|
|
3
|
+
import { provideReduxMiddlewareSaga } from "../isomorphic/providers/redux-middleware-saga.js";
|
|
4
|
+
import { provideFetch } from "../isomorphic/providers/fetch.js";
|
|
5
|
+
import { provideAbortController } from "../isomorphic/providers/abort-controller.js";
|
|
6
|
+
import { provideFormatPageResponse } from "../server/providers/format-page-response.js";
|
|
7
|
+
import { provideElementToString } from "../server/providers/element-to-string.js";
|
|
8
|
+
import { provideAxiosMiddleware } from "./providers/axios-middleware.js";
|
|
9
|
+
import { provideAxiosLogHandler } from "./providers/axios-log-handler.js";
|
|
10
|
+
import { provideHandlerMain } from "./providers/handler-main.js";
|
|
11
|
+
import { provideSpecificParams } from "./providers/specific-params.js";
|
|
12
|
+
import { providePageHelmet } from "../server/providers/page-helmet.js";
|
|
13
|
+
import { providePageRender } from "../server/providers/page-render.js";
|
|
14
|
+
import { provideFetchMiddleware } from "./providers/fetch-middleware.js";
|
|
15
|
+
import { provideFetchLogHandler } from "../server/providers/fetch-log-handler.js";
|
|
16
|
+
import { SpecificExtras } from "../server/utils/specific-extras.js";
|
|
17
|
+
import { provideAcceptType } from "./providers/accepts-type.js";
|
|
18
|
+
import { provideResponseEvents } from "./providers/response-events.js";
|
|
19
|
+
import { provideAxiosFactory } from "../isomorphic/providers/axios-factory.js";
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
|
|
23
|
+
* @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
|
|
24
|
+
* @todo Возможно стоит переименовать в PresetPageHandler.
|
|
25
|
+
* @return Preset.
|
|
26
|
+
*/
|
|
27
|
+
export function PresetHandler(customize) {
|
|
28
|
+
// ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости
|
|
29
|
+
const preset = createPreset();
|
|
30
|
+
|
|
31
|
+
// fetch
|
|
32
|
+
preset.set(KnownToken.Http.fetch, provideFetch);
|
|
33
|
+
preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);
|
|
34
|
+
preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);
|
|
35
|
+
preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);
|
|
36
|
+
|
|
37
|
+
// saga
|
|
38
|
+
preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);
|
|
39
|
+
|
|
40
|
+
// axios
|
|
41
|
+
preset.set(KnownToken.Axios.factory, provideAxiosFactory);
|
|
42
|
+
preset.set(KnownToken.Axios.middleware, provideAxiosMiddleware);
|
|
43
|
+
preset.set(KnownToken.Axios.Middleware.Log.handler, provideAxiosLogHandler);
|
|
44
|
+
|
|
45
|
+
// express handler
|
|
46
|
+
preset.set(KnownToken.ExpressHandler.main, provideHandlerMain);
|
|
47
|
+
|
|
48
|
+
// http handler
|
|
49
|
+
preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);
|
|
50
|
+
preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);
|
|
51
|
+
preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());
|
|
52
|
+
preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);
|
|
53
|
+
preset.set(KnownToken.Http.Handler.Page.assets, () => ({
|
|
54
|
+
js: '',
|
|
55
|
+
css: ''
|
|
56
|
+
}));
|
|
57
|
+
preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);
|
|
58
|
+
preset.set(KnownToken.Http.Handler.Page.render, providePageRender);
|
|
59
|
+
preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);
|
|
60
|
+
preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);
|
|
61
|
+
if (customize) {
|
|
62
|
+
customize({
|
|
63
|
+
override: preset.set.bind(preset)
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return preset;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createPreset","KnownToken","provideReduxMiddlewareSaga","provideFetch","provideAbortController","provideFormatPageResponse","provideElementToString","provideAxiosMiddleware","provideAxiosLogHandler","provideHandlerMain","provideSpecificParams","providePageHelmet","providePageRender","provideFetchMiddleware","provideFetchLogHandler","SpecificExtras","provideAcceptType","provideResponseEvents","provideAxiosFactory","PresetHandler","customize","preset","set","Http","fetch","Fetch","middleware","abortController","Middleware","Log","handler","Redux","saga","Axios","factory","ExpressHandler","main","Handler","Request","acceptType","specificParams","Response","specificExtras","events","Page","assets","js","css","helmet","render","elementToString","formatResponse","override","bind"],"sources":["../../../../src/preset/node-handler/index.ts"],"sourcesContent":["import { Preset, createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { PresetTuner } from '../isomorphic/types';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideAxiosMiddleware } from './providers/axios-middleware';\nimport { provideAxiosLogHandler } from './providers/axios-log-handler';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideAcceptType } from './providers/accepts-type';\nimport { provideResponseEvents } from './providers/response-events';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetHandler(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, provideAxiosMiddleware);\n preset.set(KnownToken.Axios.Middleware.Log.handler, provideAxiosLogHandler);\n\n // express handler\n preset.set(KnownToken.ExpressHandler.main, provideHandlerMain);\n\n // http handler\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"AAAA,SAAiBA,YAAY,QAAQ,qBAAU;AAC/C,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,0BAA0B,QAAQ,kDAA+C;AAC1F,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,sBAAsB,QAAQ,6CAA0C;AAEjF,SAASC,yBAAyB,QAAQ,6CAA0C;AACpF,SAASC,sBAAsB,QAAQ,0CAAuC;AAC9E,SAASC,sBAAsB,QAAQ,iCAA8B;AACrE,SAASC,sBAAsB,QAAQ,kCAA+B;AACtE,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,qBAAqB,QAAQ,gCAA6B;AACnE,SAASC,iBAAiB,QAAQ,oCAAiC;AACnE,SAASC,iBAAiB,QAAQ,oCAAiC;AACnE,SAASC,sBAAsB,QAAQ,iCAA8B;AACrE,SAASC,sBAAsB,QAAQ,0CAAuC;AAC9E,SAASC,cAAc,QAAQ,oCAAiC;AAChE,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,qBAAqB,QAAQ,gCAA6B;AACnE,SAASC,mBAAmB,QAAQ,0CAAuC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,SAAuB,EAAU;EAC7D;EACA,MAAMC,MAAM,GAAGrB,YAAY,CAAC,CAAC;;EAE7B;EACAqB,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACC,KAAK,EAAErB,YAAY,CAAC;EAC/CkB,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACC,UAAU,EAAEb,sBAAsB,CAAC;EACpEQ,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACE,eAAe,EAAEvB,sBAAsB,CAAC;EACzEiB,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACG,UAAU,CAACC,GAAG,CAACC,OAAO,EAAEhB,sBAAsB,CAAC;;EAEhF;EACAO,MAAM,CAACC,GAAG,CAACrB,UAAU,CAAC8B,KAAK,CAACH,UAAU,CAACI,IAAI,EAAE9B,0BAA0B,CAAC;;EAExE;EACAmB,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACgC,KAAK,CAACC,OAAO,EAAEhB,mBAAmB,CAAC;EACzDG,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACgC,KAAK,CAACP,UAAU,EAAEnB,sBAAsB,CAAC;EAC/Dc,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACgC,KAAK,CAACL,UAAU,CAACC,GAAG,CAACC,OAAO,EAAEtB,sBAAsB,CAAC;;EAE3E;EACAa,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACkC,cAAc,CAACC,IAAI,EAAE3B,kBAAkB,CAAC;;EAE9D;EACAY,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACC,OAAO,CAACC,UAAU,EAAEvB,iBAAiB,CAAC;EACzEK,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACC,OAAO,CAACE,cAAc,EAAE9B,qBAAqB,CAAC;EACjFW,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACI,QAAQ,CAACC,cAAc,EAAE,MAAM,IAAI3B,cAAc,CAAC,CAAC,CAAC;EACvFM,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACI,QAAQ,CAACE,MAAM,EAAE1B,qBAAqB,CAAC;EAC1EI,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACC,MAAM,EAAE,OAAO;IAAEC,EAAE,EAAE,EAAE;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,CAAC;EAC5E1B,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACI,MAAM,EAAErC,iBAAiB,CAAC;EAClEU,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACK,MAAM,EAAErC,iBAAiB,CAAC;EAClES,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACM,eAAe,EAAE5C,sBAAsB,CAAC;EAChFe,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACO,cAAc,EAAE9C,yBAAyB,CAAC;EAElF,IAAIe,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEgC,QAAQ,EAAE/B,MAAM,CAACC,GAAG,CAAC+B,IAAI,CAAChC,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KnownToken } from "../../../tokens.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Провайдер функции, которая определяет возможные типы ответа и их приоритет.
|
|
5
|
+
* @param resolve Resolve.
|
|
6
|
+
* @return Функция.
|
|
7
|
+
*/
|
|
8
|
+
export function provideAcceptType(resolve) {
|
|
9
|
+
const context = resolve(KnownToken.ExpressHandler.context);
|
|
10
|
+
return context.req.accepts.bind(context.req);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=accepts-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accepts-type.js","names":["KnownToken","provideAcceptType","resolve","context","ExpressHandler","req","accepts","bind"],"sources":["../../../../../src/preset/node-handler/providers/accepts-type.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер функции, которая определяет возможные типы ответа и их приоритет.\n * @param resolve Resolve.\n * @return Функция.\n */\nexport function provideAcceptType(resolve: Resolve) {\n const context = resolve(KnownToken.ExpressHandler.context);\n\n return context.req.accepts.bind(context.req);\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAgB,EAAE;EAClD,MAAMC,OAAO,GAAGD,OAAO,CAACF,UAAU,CAACI,cAAc,CAACD,OAAO,CAAC;EAE1D,OAAOA,OAAO,CAACE,GAAG,CAACC,OAAO,CAACC,IAAI,CAACJ,OAAO,CAACE,GAAG,CAAC;AAC9C","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { KnownToken } from "../../../tokens.js";
|
|
2
|
+
import { AxiosLogging } from "../../isomorphic/utils/axios-logging.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Провайдер обработчика логирования axios.
|
|
6
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
7
|
+
* @return Обработчик логирования.
|
|
8
|
+
*/
|
|
9
|
+
export function provideAxiosLogHandler(resolve) {
|
|
10
|
+
const logger = resolve(KnownToken.logger);
|
|
11
|
+
const abortController = resolve(KnownToken.Http.Fetch.abortController);
|
|
12
|
+
return data => {
|
|
13
|
+
const logHandler = new AxiosLogging(logger, data);
|
|
14
|
+
|
|
15
|
+
// ВАЖНО: отключаем логирование если запрос прерван
|
|
16
|
+
logHandler.disabled = () => abortController.signal.aborted;
|
|
17
|
+
return logHandler;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=axios-log-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axios-log-handler.js","names":["KnownToken","AxiosLogging","provideAxiosLogHandler","resolve","logger","abortController","Http","Fetch","data","logHandler","disabled","signal","aborted"],"sources":["../../../../../src/preset/node-handler/providers/axios-log-handler.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { LogMiddlewareHandlerInit } from '../../../utils/axios';\nimport { AxiosLogging } from '../../isomorphic/utils/axios-logging';\n\n/**\n * Провайдер обработчика логирования axios.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик логирования.\n */\nexport function provideAxiosLogHandler(resolve: Resolve): LogMiddlewareHandlerInit {\n const logger = resolve(KnownToken.logger);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return data => {\n const logHandler = new AxiosLogging(logger, data);\n\n // ВАЖНО: отключаем логирование если запрос прерван\n logHandler.disabled = () => abortController.signal.aborted;\n\n return logHandler;\n };\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;AAE5C,SAASC,YAAY,QAAQ,yCAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAA4B;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACI,MAAM,CAAC;EACzC,MAAMC,eAAe,GAAGF,OAAO,CAACH,UAAU,CAACM,IAAI,CAACC,KAAK,CAACF,eAAe,CAAC;EAEtE,OAAOG,IAAI,IAAI;IACb,MAAMC,UAAU,GAAG,IAAIR,YAAY,CAACG,MAAM,EAAEI,IAAI,CAAC;;IAEjD;IACAC,UAAU,CAACC,QAAQ,GAAG,MAAML,eAAe,CAACM,MAAM,CAACC,OAAO;IAE1D,OAAOH,UAAU;EACnB,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { KnownToken } from "../../../tokens.js";
|
|
2
|
+
import { HttpStatus } from "../../isomorphic/utils/http-status.js";
|
|
3
|
+
import { axiosTracingMiddleware } from "../../node/utils/axios-tracing-middleware.js";
|
|
4
|
+
import { logMiddleware } from "./../../../utils/axios/index.js";
|
|
5
|
+
import { getForwardedHeaders } from "../../node/utils/get-forwarded-headers.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Провайдер фабрики http-клиентов.
|
|
9
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
10
|
+
* @return Фабрика.
|
|
11
|
+
*/
|
|
12
|
+
export function provideAxiosMiddleware(resolve) {
|
|
13
|
+
const appConfig = resolve(KnownToken.Config.base);
|
|
14
|
+
const tracer = resolve(KnownToken.Tracing.tracer);
|
|
15
|
+
const context = resolve(KnownToken.ExpressHandler.context);
|
|
16
|
+
const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);
|
|
17
|
+
const abortController = resolve(KnownToken.Http.Fetch.abortController);
|
|
18
|
+
return [
|
|
19
|
+
// пробрасываемые заголовки по соглашению
|
|
20
|
+
async (config, next) => {
|
|
21
|
+
await next({
|
|
22
|
+
...config,
|
|
23
|
+
headers: {
|
|
24
|
+
...getForwardedHeaders(appConfig, context.req),
|
|
25
|
+
// ВАЖНО: заголовки из конфига важнее, поэтому идут в конце
|
|
26
|
+
...config.headers
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
// обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса
|
|
31
|
+
async (config, next) => {
|
|
32
|
+
const innerController = new AbortController();
|
|
33
|
+
abortController.signal.addEventListener('abort', () => {
|
|
34
|
+
innerController.abort();
|
|
35
|
+
}, {
|
|
36
|
+
once: true
|
|
37
|
+
});
|
|
38
|
+
config.signal?.addEventListener?.('abort', () => {
|
|
39
|
+
innerController.abort();
|
|
40
|
+
}, {
|
|
41
|
+
once: true
|
|
42
|
+
});
|
|
43
|
+
await next({
|
|
44
|
+
...config,
|
|
45
|
+
signal: innerController.signal
|
|
46
|
+
});
|
|
47
|
+
}, HttpStatus.axiosMiddleware(), axiosTracingMiddleware(tracer, context.res.locals.tracing.rootContext), logMiddleware(logHandler)];
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=axios-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axios-middleware.js","names":["KnownToken","HttpStatus","axiosTracingMiddleware","logMiddleware","getForwardedHeaders","provideAxiosMiddleware","resolve","appConfig","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Axios","Middleware","Log","handler","abortController","Http","Fetch","config","next","headers","req","innerController","AbortController","signal","addEventListener","abort","once","axiosMiddleware","res","locals","tracing","rootContext"],"sources":["../../../../../src/preset/node-handler/providers/axios-middleware.ts"],"sourcesContent":["import { Middleware } from 'middleware-axios';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { HttpStatus } from '../../isomorphic/utils/http-status';\nimport { axiosTracingMiddleware } from '../../node/utils/axios-tracing-middleware';\nimport { logMiddleware } from '../../../utils/axios';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideAxiosMiddleware(resolve: Resolve): Middleware<any>[] {\n const appConfig = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // пробрасываемые заголовки по соглашению\n async (config, next) => {\n await next({\n ...config,\n headers: {\n ...getForwardedHeaders(appConfig, context.req),\n\n // ВАЖНО: заголовки из конфига важнее, поэтому идут в конце\n ...config.headers,\n },\n });\n },\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n async (config, next) => {\n const innerController = new AbortController();\n\n abortController.signal.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n config.signal?.addEventListener?.(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n await next({ ...config, signal: innerController.signal });\n },\n\n HttpStatus.axiosMiddleware(),\n axiosTracingMiddleware(tracer, context.res.locals.tracing.rootContext),\n logMiddleware(logHandler),\n ];\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,UAAU,QAAQ,uCAAoC;AAC/D,SAASC,sBAAsB,QAAQ,8CAA2C;AAClF,SAASC,aAAa,QAAQ,iCAAsB;AACpD,SAASC,mBAAmB,QAAQ,2CAAwC;;AAE5E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAqB;EAC1E,MAAMC,SAAS,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACC,IAAI,CAAC;EACjD,MAAMC,MAAM,GAAGJ,OAAO,CAACN,UAAU,CAACW,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGN,OAAO,CAACN,UAAU,CAACa,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGR,OAAO,CAACN,UAAU,CAACe,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACnE,MAAMC,eAAe,GAAGb,OAAO,CAACN,UAAU,CAACoB,IAAI,CAACC,KAAK,CAACF,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,OAAOG,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMA,IAAI,CAAC;MACT,GAAGD,MAAM;MACTE,OAAO,EAAE;QACP,GAAGpB,mBAAmB,CAACG,SAAS,EAAEK,OAAO,CAACa,GAAG,CAAC;QAE9C;QACA,GAAGH,MAAM,CAACE;MACZ;IACF,CAAC,CAAC;EACJ,CAAC;EAED;EACA,OAAOF,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMG,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAE7CR,eAAe,CAACS,MAAM,CAACC,gBAAgB,CACrC,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAEDT,MAAM,CAACM,MAAM,EAAEC,gBAAgB,GAC7B,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMR,IAAI,CAAC;MAAE,GAAGD,MAAM;MAAEM,MAAM,EAAEF,eAAe,CAACE;IAAO,CAAC,CAAC;EAC3D,CAAC,EAED3B,UAAU,CAAC+B,eAAe,CAAC,CAAC,EAC5B9B,sBAAsB,CAACQ,MAAM,EAAEE,OAAO,CAACqB,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC,EACtEjC,aAAa,CAACW,UAAU,CAAC,CAC1B;AACH","ignoreList":[]}
|