@sima-land/isomorph 11.0.0-alpha.61 → 11.0.0-alpha.63
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/dist/cjs/cache/index.js.map +1 -1
- package/dist/cjs/cache/types.js.map +1 -1
- package/dist/cjs/config/base.js.map +1 -1
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/config/source.js.map +1 -1
- package/dist/cjs/config/types.js.map +1 -1
- package/dist/cjs/di/application.js.map +1 -1
- package/dist/cjs/di/container.js.map +1 -1
- package/dist/cjs/di/errors.js.map +1 -1
- package/dist/cjs/di/index.js.map +1 -1
- package/dist/cjs/di/preset.js.map +1 -1
- package/dist/cjs/di/token.js.map +1 -1
- package/dist/cjs/di/types.js.map +1 -1
- package/dist/cjs/http/errors.js.map +1 -1
- package/dist/cjs/http/index.js.map +1 -1
- package/dist/cjs/http/types.js.map +1 -1
- package/dist/cjs/http/utils.js.map +1 -1
- package/dist/cjs/log/errors.js.map +1 -1
- package/dist/cjs/log/handler/pino.js.map +1 -1
- package/dist/cjs/log/handler/sentry.js.map +1 -1
- package/dist/cjs/log/index.js.map +1 -1
- package/dist/cjs/log/logger.js.map +1 -1
- package/dist/cjs/log/types.js.map +1 -1
- package/dist/cjs/package.json +23 -23
- package/dist/cjs/preset/isomorphic/index.js.map +1 -1
- package/dist/cjs/preset/isomorphic/providers/abort-controller.js.map +1 -1
- package/dist/cjs/preset/isomorphic/providers/axios-factory.js.map +1 -1
- package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js.map +1 -1
- package/dist/cjs/preset/isomorphic/providers/base-config.js.map +1 -1
- package/dist/cjs/preset/isomorphic/providers/fetch.js.map +1 -1
- package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -1
- package/dist/cjs/preset/isomorphic/types.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/axios-logging.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/disableable.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/display-url.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/fetch-logging.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/http-status.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/saga-logging.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/severity-from-status.js.map +1 -1
- package/dist/cjs/preset/node/index.js.map +1 -1
- package/dist/cjs/preset/node/providers/config-source.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-factory.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-log-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/log-handler-pino.js.map +1 -1
- package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -1
- package/dist/cjs/preset/node/providers/logger.js.map +1 -1
- package/dist/cjs/preset/node/providers/main-express-app.js +0 -1
- package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -1
- package/dist/cjs/preset/node/providers/metrics-express-app.js.map +1 -1
- package/dist/cjs/preset/node/providers/public-envs.js.map +1 -1
- package/dist/cjs/preset/node/providers/telemetry-tracer-provider.js.map +1 -1
- package/dist/cjs/preset/node/providers/telemetry-tracer-resource.js.map +1 -1
- package/dist/cjs/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -1
- package/dist/cjs/preset/node/providers/telemetry-tracer.js.map +1 -1
- package/dist/cjs/preset/node/types.js.map +1 -1
- package/dist/cjs/preset/node/utils/axios-tracing-middleware.js.map +1 -1
- package/dist/cjs/preset/node/utils/emitter-as-target.js.map +1 -1
- package/dist/cjs/preset/node/utils/get-client-ip.js.map +1 -1
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js.map +1 -1
- package/dist/cjs/preset/node/utils/get-forwarded-headers.js.map +1 -1
- package/dist/cjs/preset/node/utils/get-handler-metrics.js.map +1 -1
- package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -1
- package/dist/cjs/preset/node/utils/get-serve-measuring.js.map +1 -1
- package/dist/cjs/preset/node/utils/handler-provider.js.map +1 -1
- package/dist/cjs/preset/node/utils/telemetry.js.map +1 -1
- package/dist/cjs/preset/node-handler/index.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/accepts-type.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/axios-log-handler.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/response-events.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/specific-params.js.map +1 -1
- package/dist/cjs/preset/server/constants.js.map +1 -1
- package/dist/cjs/preset/server/index.js.map +1 -1
- package/dist/cjs/preset/server/providers/element-to-string.js.map +1 -1
- package/dist/cjs/preset/server/providers/fetch-log-handler.js.map +1 -1
- package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -1
- package/dist/cjs/preset/server/providers/known-http-api-hosts.js.map +1 -1
- package/dist/cjs/preset/server/providers/page-helmet.js.map +1 -1
- package/dist/cjs/preset/server/providers/page-render.js.map +1 -1
- package/dist/cjs/preset/server/providers/response-events.js.map +1 -1
- package/dist/cjs/preset/server/providers/serve.js +2 -1
- package/dist/cjs/preset/server/providers/serve.js.map +1 -1
- package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js.map +1 -1
- package/dist/cjs/preset/server/types.js.map +1 -1
- package/dist/cjs/preset/server/utils/apply-server-middleware.js.map +1 -1
- package/dist/cjs/preset/server/utils/format-handler-error.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-client-ip.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-health-check.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -1
- package/dist/cjs/preset/server/utils/handler-provider.js.map +1 -1
- package/dist/cjs/preset/server/utils/regular-helmet.js.map +1 -1
- package/dist/cjs/preset/server/utils/specific-extras.js.map +1 -1
- package/dist/cjs/preset/web/index.js.map +1 -1
- package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -1
- package/dist/cjs/preset/web/providers/config-source.js.map +1 -1
- package/dist/cjs/preset/web/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/web/providers/known-http-api-hosts.js.map +1 -1
- package/dist/cjs/preset/web/providers/logger.js.map +1 -1
- package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js.map +1 -1
- package/dist/cjs/tokens.js.map +1 -1
- package/dist/cjs/utils/axios/index.js.map +1 -1
- package/dist/cjs/utils/axios/middleware/log.js.map +1 -1
- package/dist/cjs/utils/axios/sauce/index.js.map +1 -1
- package/dist/cjs/utils/axios/utils/index.js.map +1 -1
- package/dist/cjs/utils/express/handler/health-check.js.map +1 -1
- package/dist/cjs/utils/express/index.js.map +1 -1
- package/dist/cjs/utils/express/utils/index.js.map +1 -1
- package/dist/cjs/utils/function.js.map +1 -1
- package/dist/cjs/utils/index.js +7 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/math.js.map +1 -1
- package/dist/cjs/utils/react/error-handlers/index.js.map +1 -1
- package/dist/cjs/utils/react/index.js.map +1 -1
- package/dist/cjs/utils/redux/index.js.map +1 -1
- package/dist/cjs/utils/redux/remote-data.js.map +1 -1
- package/dist/cjs/utils/redux-saga/index.js.map +1 -1
- package/dist/cjs/utils/redux-saga/middleware.js.map +1 -1
- package/dist/cjs/utils/redux-saga/take-chain.js.map +1 -1
- package/dist/cjs/utils/redux-saga/types.js.map +1 -1
- 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.map +1 -1
- package/dist/cjs/utils/web/analytics/data-layer.js.map +1 -1
- package/dist/cjs/utils/web/analytics/index.js.map +1 -1
- package/dist/cjs/utils/web/analytics/oko.js.map +1 -1
- package/dist/cjs/utils/web/storage/index.js.map +1 -1
- package/dist/cjs/utils/webpack/env/index.js.map +1 -1
- package/dist/cjs/utils/webpack/env/types.js.map +1 -1
- package/dist/cjs/utils/webpack/env/utils.js.map +1 -1
- package/dist/cjs/utils/webpack/index.js.map +1 -1
- package/dist/cjs/utils/webpack/module-federation/index.js.map +1 -1
- package/dist/cjs/utils/webpack/module-federation/types.js.map +1 -1
- package/dist/cjs/utils/webpack/module-federation/utils.js.map +1 -1
- package/dist/esm/cache/index.js.map +1 -1
- package/dist/esm/cache/types.js.map +1 -1
- package/dist/esm/config/base.js.map +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/source.js.map +1 -1
- package/dist/esm/config/types.js.map +1 -1
- package/dist/esm/di/application.js.map +1 -1
- package/dist/esm/di/container.js.map +1 -1
- package/dist/esm/di/errors.js.map +1 -1
- package/dist/esm/di/index.js.map +1 -1
- package/dist/esm/di/preset.js.map +1 -1
- package/dist/esm/di/token.js.map +1 -1
- package/dist/esm/di/types.js.map +1 -1
- package/dist/esm/http/errors.js.map +1 -1
- package/dist/esm/http/index.js.map +1 -1
- package/dist/esm/http/types.js.map +1 -1
- package/dist/esm/http/utils.js.map +1 -1
- package/dist/esm/log/errors.js.map +1 -1
- package/dist/esm/log/handler/pino.js.map +1 -1
- package/dist/esm/log/handler/sentry.js.map +1 -1
- package/dist/esm/log/index.js.map +1 -1
- package/dist/esm/log/logger.js.map +1 -1
- package/dist/esm/log/types.js.map +1 -1
- package/dist/esm/package.json +23 -23
- package/dist/esm/preset/isomorphic/index.js.map +1 -1
- package/dist/esm/preset/isomorphic/providers/abort-controller.js.map +1 -1
- package/dist/esm/preset/isomorphic/providers/axios-factory.js.map +1 -1
- package/dist/esm/preset/isomorphic/providers/axios-log-handler.js.map +1 -1
- package/dist/esm/preset/isomorphic/providers/base-config.js.map +1 -1
- package/dist/esm/preset/isomorphic/providers/fetch.js.map +1 -1
- package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -1
- package/dist/esm/preset/isomorphic/types.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/axios-logging.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/disableable.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/display-url.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/fetch-logging.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/http-status.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/saga-logging.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/severity-from-status.js.map +1 -1
- package/dist/esm/preset/node/index.js.map +1 -1
- package/dist/esm/preset/node/providers/config-source.js.map +1 -1
- package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/express-factory.js.map +1 -1
- package/dist/esm/preset/node/providers/express-log-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/express-tracing-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/log-handler-pino.js.map +1 -1
- package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -1
- package/dist/esm/preset/node/providers/logger.js.map +1 -1
- package/dist/esm/preset/node/providers/main-express-app.js +0 -1
- package/dist/esm/preset/node/providers/main-express-app.js.map +1 -1
- package/dist/esm/preset/node/providers/metrics-express-app.js.map +1 -1
- package/dist/esm/preset/node/providers/public-envs.js.map +1 -1
- package/dist/esm/preset/node/providers/telemetry-tracer-provider.js +1 -1
- package/dist/esm/preset/node/providers/telemetry-tracer-provider.js.map +1 -1
- package/dist/esm/preset/node/providers/telemetry-tracer-resource.js.map +1 -1
- package/dist/esm/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -1
- package/dist/esm/preset/node/providers/telemetry-tracer.js.map +1 -1
- package/dist/esm/preset/node/types.js.map +1 -1
- package/dist/esm/preset/node/utils/axios-tracing-middleware.js.map +1 -1
- package/dist/esm/preset/node/utils/emitter-as-target.js.map +1 -1
- package/dist/esm/preset/node/utils/get-client-ip.js.map +1 -1
- package/dist/esm/preset/node/utils/get-fetch-tracing.js.map +1 -1
- package/dist/esm/preset/node/utils/get-forwarded-headers.js.map +1 -1
- package/dist/esm/preset/node/utils/get-handler-metrics.js.map +1 -1
- package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -1
- package/dist/esm/preset/node/utils/get-serve-measuring.js.map +1 -1
- package/dist/esm/preset/node/utils/handler-provider.js.map +1 -1
- package/dist/esm/preset/node/utils/telemetry.js.map +1 -1
- package/dist/esm/preset/node-handler/index.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/accepts-type.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/axios-log-handler.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/response-events.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/specific-params.js.map +1 -1
- package/dist/esm/preset/server/constants.js.map +1 -1
- package/dist/esm/preset/server/index.js.map +1 -1
- package/dist/esm/preset/server/providers/element-to-string.js.map +1 -1
- package/dist/esm/preset/server/providers/fetch-log-handler.js.map +1 -1
- package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/server/providers/format-page-response.js.map +1 -1
- package/dist/esm/preset/server/providers/known-http-api-hosts.js.map +1 -1
- package/dist/esm/preset/server/providers/page-helmet.js.map +1 -1
- package/dist/esm/preset/server/providers/page-render.js.map +1 -1
- package/dist/esm/preset/server/providers/response-events.js.map +1 -1
- package/dist/esm/preset/server/providers/serve.js +2 -1
- package/dist/esm/preset/server/providers/serve.js.map +1 -1
- package/dist/esm/preset/server/providers/ssr-bridge-server-side.js.map +1 -1
- package/dist/esm/preset/server/types.js.map +1 -1
- package/dist/esm/preset/server/utils/apply-server-middleware.js.map +1 -1
- package/dist/esm/preset/server/utils/format-handler-error.js.map +1 -1
- package/dist/esm/preset/server/utils/get-client-ip.js.map +1 -1
- package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -1
- package/dist/esm/preset/server/utils/get-health-check.js.map +1 -1
- package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -1
- package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -1
- package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -1
- package/dist/esm/preset/server/utils/handler-provider.js.map +1 -1
- package/dist/esm/preset/server/utils/regular-helmet.js.map +1 -1
- package/dist/esm/preset/server/utils/specific-extras.js.map +1 -1
- package/dist/esm/preset/web/index.js.map +1 -1
- package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -1
- package/dist/esm/preset/web/providers/config-source.js.map +1 -1
- package/dist/esm/preset/web/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/web/providers/known-http-api-hosts.js.map +1 -1
- package/dist/esm/preset/web/providers/logger.js.map +1 -1
- package/dist/esm/preset/web/providers/ssr-bridge-client-side.js.map +1 -1
- package/dist/esm/tokens.js.map +1 -1
- package/dist/esm/utils/axios/index.js.map +1 -1
- package/dist/esm/utils/axios/middleware/log.js.map +1 -1
- package/dist/esm/utils/axios/sauce/index.js.map +1 -1
- package/dist/esm/utils/axios/utils/index.js.map +1 -1
- package/dist/esm/utils/express/handler/health-check.js.map +1 -1
- package/dist/esm/utils/express/index.js.map +1 -1
- package/dist/esm/utils/express/utils/index.js.map +1 -1
- package/dist/esm/utils/function.js.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/math.js.map +1 -1
- package/dist/esm/utils/react/error-handlers/index.js.map +1 -1
- package/dist/esm/utils/react/index.js.map +1 -1
- package/dist/esm/utils/redux/index.js.map +1 -1
- package/dist/esm/utils/redux/remote-data.js.map +1 -1
- package/dist/esm/utils/redux-saga/index.js.map +1 -1
- package/dist/esm/utils/redux-saga/middleware.js.map +1 -1
- package/dist/esm/utils/redux-saga/take-chain.js.map +1 -1
- package/dist/esm/utils/redux-saga/types.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/utils/web/analytics/data-layer.js.map +1 -1
- package/dist/esm/utils/web/analytics/index.js.map +1 -1
- package/dist/esm/utils/web/analytics/oko.js.map +1 -1
- package/dist/esm/utils/web/storage/index.js.map +1 -1
- package/dist/esm/utils/webpack/env/index.js.map +1 -1
- package/dist/esm/utils/webpack/env/types.js.map +1 -1
- package/dist/esm/utils/webpack/env/utils.js.map +1 -1
- package/dist/esm/utils/webpack/index.js.map +1 -1
- package/dist/esm/utils/webpack/module-federation/index.js.map +1 -1
- package/dist/esm/utils/webpack/module-federation/types.js.map +1 -1
- package/dist/esm/utils/webpack/module-federation/utils.js.map +1 -1
- package/dist/types/http/utils.d.ts +1 -1
- package/dist/types/http/utils.d.ts.map +1 -1
- package/dist/types/log/types.d.ts +7 -7
- package/dist/types/log/types.d.ts.map +1 -1
- package/dist/types/preset/isomorphic/providers/axios-factory.d.ts.map +1 -1
- package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts +2 -2
- package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts.map +1 -1
- package/dist/types/preset/node/utils/emitter-as-target.d.ts +0 -1
- package/dist/types/preset/node/utils/emitter-as-target.d.ts.map +1 -1
- package/dist/types/preset/node/utils/get-handler-metrics.d.ts +3 -3
- package/dist/types/preset/server/providers/page-helmet.d.ts +1 -2
- package/dist/types/preset/server/providers/page-helmet.d.ts.map +1 -1
- package/dist/types/preset/server/providers/serve.d.ts.map +1 -1
- package/dist/types/preset/server/types.d.ts +0 -1
- package/dist/types/preset/server/types.d.ts.map +1 -1
- package/dist/types/preset/server/utils/regular-helmet.d.ts +2 -2
- package/dist/types/preset/server/utils/regular-helmet.d.ts.map +1 -1
- package/dist/types/tokens.d.ts +0 -1
- package/dist/types/tokens.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/redux/remote-data.d.ts +13 -3
- package/dist/types/utils/redux/remote-data.d.ts.map +1 -1
- 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.map +1 -1
- package/package.json +55 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-url.js","names":["displayUrl","baseURL","url","result","Boolean","replace"],"sources":["../../../../../src/preset/isomorphic/utils/display-url.ts"],"sourcesContent":["import type { AxiosRequestConfig } from 'axios';\n\n/**\n * Объединяет значения опций baseURL и url (axios) в одну строку для логирования.\n * @param baseURL Опция baseURL.\n * @param url Опция url.\n * @return Отображение. Не является валидным URL.\n */\nexport function displayUrl(\n baseURL: AxiosRequestConfig['baseURL'] = '',\n url: AxiosRequestConfig['url'] = '',\n) {\n let result: string;\n\n switch (true) {\n case Boolean(baseURL && url):\n result = `${baseURL.replace(/\\/$/, '')}/${url.replace(/^\\//, '')}`;\n break;\n case Boolean(baseURL) && !url:\n result = baseURL;\n break;\n case !baseURL && Boolean(url):\n result = url;\n break;\n case !baseURL && !url:\n default:\n result = '[empty]';\n break;\n }\n\n return result;\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,UAAUA,CACxBC,OAAsC,GAAG,EAAE,EAC3CC,GAA8B,GAAG,EAAE,EACnC;EACA,IAAIC,MAAc;EAElB,QAAQ,IAAI;IACV,KAAKC,OAAO,CAACH,OAAO,IAAIC,GAAG,CAAC;MAC1BC,MAAM,
|
|
1
|
+
{"version":3,"file":"display-url.js","names":["displayUrl","baseURL","url","result","Boolean","replace"],"sources":["../../../../../src/preset/isomorphic/utils/display-url.ts"],"sourcesContent":["import type { AxiosRequestConfig } from 'axios';\n\n/**\n * Объединяет значения опций baseURL и url (axios) в одну строку для логирования.\n * @param baseURL Опция baseURL.\n * @param url Опция url.\n * @return Отображение. Не является валидным URL.\n */\nexport function displayUrl(\n baseURL: AxiosRequestConfig['baseURL'] = '',\n url: AxiosRequestConfig['url'] = '',\n) {\n let result: string;\n\n switch (true) {\n case Boolean(baseURL && url):\n result = `${baseURL.replace(/\\/$/, '')}/${url.replace(/^\\//, '')}`;\n break;\n case Boolean(baseURL) && !url:\n result = baseURL;\n break;\n case !baseURL && Boolean(url):\n result = url;\n break;\n case !baseURL && !url:\n default:\n result = '[empty]';\n break;\n }\n\n return result;\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,UAAUA,CACxBC,OAAsC,GAAG,EAAE,EAC3CC,GAA8B,GAAG,EAAE,EACnC;EACA,IAAIC,MAAc;EAElB,QAAQ,IAAI;IACV,KAAKC,OAAO,CAACH,OAAO,IAAIC,GAAG,CAAC;MAC1BC,MAAM,GAAG,GAAGF,OAAO,CAACI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAIH,GAAG,CAACG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;MAClE;IACF,KAAKD,OAAO,CAACH,OAAO,CAAC,IAAI,CAACC,GAAG;MAC3BC,MAAM,GAAGF,OAAO;MAChB;IACF,KAAK,CAACA,OAAO,IAAIG,OAAO,CAACF,GAAG,CAAC;MAC3BC,MAAM,GAAGD,GAAG;MACZ;IACF,KAAK,CAACD,OAAO,IAAI,CAACC,GAAG;IACrB;MACEC,MAAM,GAAG,SAAS;MAClB;EACJ;EAEA,OAAOA,MAAM;AACf","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-logging.js","names":["_http","require","_utils","_log","_disableable","FetchLogging","Disableable","constructor","logger","onRequest","request","isDisabled","info","Breadcrumb","category","type","data","url","FetchUtil","withoutParams","href","method","params","Object","fromEntries","URL","searchParams","entries","level","onResponse","response","status_code","status","ok","error","DetailedError","context","key","headers","onCatch","isNetworkError","isAbortError","String","exports"],"sources":["../../../../../src/preset/isomorphic/utils/fetch-logging.ts"],"sourcesContent":["import { LogHandler, LogData, DoneLogData, FetchUtil, FailLogData } from '../../../http';\nimport { isAbortError, isNetworkError } from '../../../http/utils';\nimport { Breadcrumb, DetailedError, Logger } from '../../../log';\nimport { Disableable } from './disableable';\n\n/**\n * Обработчик логирования внешних http-запросов.\n */\nexport class FetchLogging extends Disableable implements LogHandler {\n logger: Logger;\n\n /** @inheritdoc */\n constructor(logger: Logger) {\n super();\n this.logger = logger;\n }\n\n /** @inheritdoc */\n onRequest({ request }: LogData) {\n if (this.isDisabled()) {\n return;\n }\n\n this.logger.info(\n new Breadcrumb({\n category: 'http.request',\n type: 'http',\n data: {\n url: FetchUtil.withoutParams(request.url).href,\n method: request.method,\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n },\n level: 'info',\n }),\n );\n }\n\n /** @inheritdoc */\n onResponse({ response, request }: DoneLogData) {\n if (this.isDisabled()) {\n return;\n }\n\n this.logger.info(\n new Breadcrumb({\n category: 'http.response',\n type: 'http',\n data: {\n url: FetchUtil.withoutParams(request.url).href,\n method: request.method,\n status_code: response.status,\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n },\n level: response.ok ? 'info' : 'error',\n }),\n );\n\n // по общему соглашению фильтруем все статусы < 500\n if (response.status < 500) {\n return;\n }\n\n this.logger.error(\n new DetailedError(`HTTP request failed, status code: ${response.status}`, {\n level: 'error',\n context: [\n {\n key: 'Outgoing request details',\n data: {\n url: FetchUtil.withoutParams(request.url).href,\n method: request.method,\n headers: request.headers,\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n // @todo data\n },\n },\n ],\n }),\n );\n }\n\n /** @inheritdoc */\n onCatch({ error, request }: FailLogData) {\n if (this.isDisabled()) {\n return;\n }\n\n // по общему соглашению фильтруем сетевые ошибки\n if (isNetworkError(error)) {\n return;\n }\n\n // по общему соглашению фильтруем ошибки обрывания\n if (isAbortError(error)) {\n return;\n }\n\n this.logger.error(\n new DetailedError(String(error), {\n level: 'error',\n context: [\n {\n key: 'Outgoing request details',\n data: {\n url: FetchUtil.withoutParams(request.url).href,\n method: request.method,\n headers: request.headers,\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n // @todo data\n },\n },\n ],\n }),\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACO,MAAMI,YAAY,SAASC,wBAAW,CAAuB;EAGlE;EACAC,WAAWA,CAACC,MAAc,EAAE;IAC1B,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;;EAEA;EACAC,SAASA,CAAC;IAAEC;EAAiB,CAAC,EAAE;IAC9B,IAAI,IAAI,CAACC,UAAU,CAAC,CAAC,EAAE;MACrB;IACF;IAEA,IAAI,CAACH,MAAM,CAACI,IAAI,CACd,IAAIC,eAAU,CAAC;MACbC,QAAQ,EAAE,cAAc;MACxBC,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;QACJC,GAAG,EAAEC,eAAS,CAACC,aAAa,CAACT,OAAO,CAACO,GAAG,CAAC,CAACG,IAAI;QAC9CC,MAAM,EAAEX,OAAO,CAACW,MAAM;QACtBC,MAAM,EAAEC,MAAM,CAACC,WAAW,CAAC,IAAIC,GAAG,CAACf,OAAO,CAACO,GAAG,CAAC,CAACS,YAAY,CAACC,OAAO,CAAC,CAAC;MACxE,CAAC;MACDC,KAAK,EAAE;IACT,CAAC,CACH,CAAC;EACH;;EAEA;EACAC,UAAUA,CAAC;IAAEC,QAAQ;IAAEpB;EAAqB,CAAC,EAAE;IAC7C,IAAI,IAAI,CAACC,UAAU,CAAC,CAAC,EAAE;MACrB;IACF;IAEA,IAAI,CAACH,MAAM,CAACI,IAAI,CACd,IAAIC,eAAU,CAAC;MACbC,QAAQ,EAAE,eAAe;MACzBC,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;QACJC,GAAG,EAAEC,eAAS,CAACC,aAAa,CAACT,OAAO,CAACO,GAAG,CAAC,CAACG,IAAI;QAC9CC,MAAM,EAAEX,OAAO,CAACW,MAAM;QACtBU,WAAW,EAAED,QAAQ,CAACE,MAAM;QAC5BV,MAAM,EAAEC,MAAM,CAACC,WAAW,CAAC,IAAIC,GAAG,CAACf,OAAO,CAACO,GAAG,CAAC,CAACS,YAAY,CAACC,OAAO,CAAC,CAAC;MACxE,CAAC;MACDC,KAAK,EAAEE,QAAQ,CAACG,EAAE,GAAG,MAAM,GAAG;IAChC,CAAC,CACH,CAAC;;IAED;IACA,IAAIH,QAAQ,CAACE,MAAM,GAAG,GAAG,EAAE;MACzB;IACF;IAEA,IAAI,CAACxB,MAAM,CAAC0B,KAAK,CACf,IAAIC,kBAAa,
|
|
1
|
+
{"version":3,"file":"fetch-logging.js","names":["_http","require","_utils","_log","_disableable","FetchLogging","Disableable","constructor","logger","onRequest","request","isDisabled","info","Breadcrumb","category","type","data","url","FetchUtil","withoutParams","href","method","params","Object","fromEntries","URL","searchParams","entries","level","onResponse","response","status_code","status","ok","error","DetailedError","context","key","headers","onCatch","isNetworkError","isAbortError","String","exports"],"sources":["../../../../../src/preset/isomorphic/utils/fetch-logging.ts"],"sourcesContent":["import { LogHandler, LogData, DoneLogData, FetchUtil, FailLogData } from '../../../http';\nimport { isAbortError, isNetworkError } from '../../../http/utils';\nimport { Breadcrumb, DetailedError, Logger } from '../../../log';\nimport { Disableable } from './disableable';\n\n/**\n * Обработчик логирования внешних http-запросов.\n */\nexport class FetchLogging extends Disableable implements LogHandler {\n logger: Logger;\n\n /** @inheritdoc */\n constructor(logger: Logger) {\n super();\n this.logger = logger;\n }\n\n /** @inheritdoc */\n onRequest({ request }: LogData) {\n if (this.isDisabled()) {\n return;\n }\n\n this.logger.info(\n new Breadcrumb({\n category: 'http.request',\n type: 'http',\n data: {\n url: FetchUtil.withoutParams(request.url).href,\n method: request.method,\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n },\n level: 'info',\n }),\n );\n }\n\n /** @inheritdoc */\n onResponse({ response, request }: DoneLogData) {\n if (this.isDisabled()) {\n return;\n }\n\n this.logger.info(\n new Breadcrumb({\n category: 'http.response',\n type: 'http',\n data: {\n url: FetchUtil.withoutParams(request.url).href,\n method: request.method,\n status_code: response.status,\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n },\n level: response.ok ? 'info' : 'error',\n }),\n );\n\n // по общему соглашению фильтруем все статусы < 500\n if (response.status < 500) {\n return;\n }\n\n this.logger.error(\n new DetailedError(`HTTP request failed, status code: ${response.status}`, {\n level: 'error',\n context: [\n {\n key: 'Outgoing request details',\n data: {\n url: FetchUtil.withoutParams(request.url).href,\n method: request.method,\n headers: request.headers,\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n // @todo data\n },\n },\n ],\n }),\n );\n }\n\n /** @inheritdoc */\n onCatch({ error, request }: FailLogData) {\n if (this.isDisabled()) {\n return;\n }\n\n // по общему соглашению фильтруем сетевые ошибки\n if (isNetworkError(error)) {\n return;\n }\n\n // по общему соглашению фильтруем ошибки обрывания\n if (isAbortError(error)) {\n return;\n }\n\n this.logger.error(\n new DetailedError(String(error), {\n level: 'error',\n context: [\n {\n key: 'Outgoing request details',\n data: {\n url: FetchUtil.withoutParams(request.url).href,\n method: request.method,\n headers: request.headers,\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n // @todo data\n },\n },\n ],\n }),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-fetch-error-logging.js","names":["_http","require","getFetchErrorLogging","handlerInit","getHandler","log","onCatch","data"],"sources":["../../../../../src/preset/isomorphic/utils/get-fetch-error-logging.ts"],"sourcesContent":["import { log, type LogHandler, type LogHandlerFactory, type Middleware } from '../../../http';\n\n/**\n * Возвращает новый промежуточный слой логирования ошибки исходящего запроса.\n * @param handlerInit Обработчик.\n * @return Промежуточный слой.\n */\nexport function getFetchErrorLogging(handlerInit: LogHandler | LogHandlerFactory): Middleware {\n const getHandler: LogHandlerFactory =\n typeof handlerInit === 'function' ? handlerInit : () => handlerInit;\n\n return log({\n onCatch: data => {\n getHandler(data).onCatch?.(data);\n },\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAACC,WAA2C,EAAc;EAC5F,MAAMC,UAA6B,GACjC,OAAOD,WAAW,KAAK,UAAU,GAAGA,WAAW,GAAG,MAAMA,WAAW;EAErE,OAAO,IAAAE,SAAG,EAAC;IACTC,OAAO,EAAEC,IAAI,IAAI;MACfH,UAAU,CAACG,IAAI,CAAC,CAACD,OAAO,GAAGC,IAAI,CAAC;IAClC;EACF,CAAC,CAAC;AACJ"}
|
|
1
|
+
{"version":3,"file":"get-fetch-error-logging.js","names":["_http","require","getFetchErrorLogging","handlerInit","getHandler","log","onCatch","data"],"sources":["../../../../../src/preset/isomorphic/utils/get-fetch-error-logging.ts"],"sourcesContent":["import { log, type LogHandler, type LogHandlerFactory, type Middleware } from '../../../http';\n\n/**\n * Возвращает новый промежуточный слой логирования ошибки исходящего запроса.\n * @param handlerInit Обработчик.\n * @return Промежуточный слой.\n */\nexport function getFetchErrorLogging(handlerInit: LogHandler | LogHandlerFactory): Middleware {\n const getHandler: LogHandlerFactory =\n typeof handlerInit === 'function' ? handlerInit : () => handlerInit;\n\n return log({\n onCatch: data => {\n getHandler(data).onCatch?.(data);\n },\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAACC,WAA2C,EAAc;EAC5F,MAAMC,UAA6B,GACjC,OAAOD,WAAW,KAAK,UAAU,GAAGA,WAAW,GAAG,MAAMA,WAAW;EAErE,OAAO,IAAAE,SAAG,EAAC;IACTC,OAAO,EAAEC,IAAI,IAAI;MACfH,UAAU,CAACG,IAAI,CAAC,CAACD,OAAO,GAAGC,IAAI,CAAC;IAClC;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-fetch-extra-aborting.js","names":["getFetchExtraAborting","controller","request","next","innerController","AbortController","signal","addEventListener","abort","once","Request"],"sources":["../../../../../src/preset/isomorphic/utils/get-fetch-extra-aborting.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\n\n/**\n * Возвращает новый промежуточный слой обрывания по заданному контроллеру.\n * Учитывает передачу контроллера в запросе.\n * @param controller Контроллер.\n * @return Промежуточный слой.\n */\nexport function getFetchExtraAborting(controller: AbortController): Middleware {\n return (request, next) => {\n const innerController = new AbortController();\n\n request.signal?.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n controller.signal.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n return next(new Request(request, { signal: innerController.signal }));\n };\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qBAAqBA,CAACC,UAA2B,EAAc;EAC7E,OAAO,CAACC,OAAO,EAAEC,IAAI,KAAK;IACxB,MAAMC,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAE7CH,OAAO,CAACI,MAAM,EAAEC,gBAAgB,CAC9B,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAEDR,UAAU,CAACK,MAAM,CAACC,gBAAgB,CAChC,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,OAAON,IAAI,CAAC,IAAIO,OAAO,CAACR,OAAO,EAAE;MAAEI,MAAM,EAAEF,eAAe,CAACE;IAAO,CAAC,CAAC,CAAC;EACvE,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"get-fetch-extra-aborting.js","names":["getFetchExtraAborting","controller","request","next","innerController","AbortController","signal","addEventListener","abort","once","Request"],"sources":["../../../../../src/preset/isomorphic/utils/get-fetch-extra-aborting.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\n\n/**\n * Возвращает новый промежуточный слой обрывания по заданному контроллеру.\n * Учитывает передачу контроллера в запросе.\n * @param controller Контроллер.\n * @return Промежуточный слой.\n */\nexport function getFetchExtraAborting(controller: AbortController): Middleware {\n return (request, next) => {\n const innerController = new AbortController();\n\n request.signal?.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n controller.signal.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n return next(new Request(request, { signal: innerController.signal }));\n };\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qBAAqBA,CAACC,UAA2B,EAAc;EAC7E,OAAO,CAACC,OAAO,EAAEC,IAAI,KAAK;IACxB,MAAMC,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAE7CH,OAAO,CAACI,MAAM,EAAEC,gBAAgB,CAC9B,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAEDR,UAAU,CAACK,MAAM,CAACC,gBAAgB,CAChC,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,OAAON,IAAI,CAAC,IAAIO,OAAO,CAACR,OAAO,EAAE;MAAEI,MAAM,EAAEF,eAAe,CAACE;IAAO,CAAC,CAAC,CAAC;EACvE,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-fetch-logging.js","names":["_http","require","getFetchLogging","handlerInit","getHandler","log","onRequest","data","onResponse"],"sources":["../../../../../src/preset/isomorphic/utils/get-fetch-logging.ts"],"sourcesContent":["import { log, type LogHandler, type LogHandlerFactory, type Middleware } from '../../../http';\n\n/**\n * Возвращает новый промежуточный слой логирования исходящего запроса и входящего ответа.\n * @param handlerInit Обработчик.\n * @return Промежуточный слой.\n * @todo Возможно стоит переименовать в getFetchRequestLogging.\n */\nexport function getFetchLogging(handlerInit: LogHandler | LogHandlerFactory): Middleware {\n const getHandler: LogHandlerFactory =\n typeof handlerInit === 'function' ? handlerInit : () => handlerInit;\n\n return log({\n onRequest: data => {\n getHandler(data).onRequest?.(data);\n },\n onResponse: data => {\n getHandler(data).onResponse?.(data);\n },\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAACC,WAA2C,EAAc;EACvF,MAAMC,UAA6B,GACjC,OAAOD,WAAW,KAAK,UAAU,GAAGA,WAAW,GAAG,MAAMA,WAAW;EAErE,OAAO,IAAAE,SAAG,EAAC;IACTC,SAAS,EAAEC,IAAI,IAAI;MACjBH,UAAU,CAACG,IAAI,CAAC,CAACD,SAAS,GAAGC,IAAI,CAAC;IACpC,CAAC;IACDC,UAAU,EAAED,IAAI,IAAI;MAClBH,UAAU,CAACG,IAAI,CAAC,CAACC,UAAU,GAAGD,IAAI,CAAC;IACrC;EACF,CAAC,CAAC;AACJ"}
|
|
1
|
+
{"version":3,"file":"get-fetch-logging.js","names":["_http","require","getFetchLogging","handlerInit","getHandler","log","onRequest","data","onResponse"],"sources":["../../../../../src/preset/isomorphic/utils/get-fetch-logging.ts"],"sourcesContent":["import { log, type LogHandler, type LogHandlerFactory, type Middleware } from '../../../http';\n\n/**\n * Возвращает новый промежуточный слой логирования исходящего запроса и входящего ответа.\n * @param handlerInit Обработчик.\n * @return Промежуточный слой.\n * @todo Возможно стоит переименовать в getFetchRequestLogging.\n */\nexport function getFetchLogging(handlerInit: LogHandler | LogHandlerFactory): Middleware {\n const getHandler: LogHandlerFactory =\n typeof handlerInit === 'function' ? handlerInit : () => handlerInit;\n\n return log({\n onRequest: data => {\n getHandler(data).onRequest?.(data);\n },\n onResponse: data => {\n getHandler(data).onResponse?.(data);\n },\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAACC,WAA2C,EAAc;EACvF,MAAMC,UAA6B,GACjC,OAAOD,WAAW,KAAK,UAAU,GAAGA,WAAW,GAAG,MAAMA,WAAW;EAErE,OAAO,IAAAE,SAAG,EAAC;IACTC,SAAS,EAAEC,IAAI,IAAI;MACjBH,UAAU,CAACG,IAAI,CAAC,CAACD,SAAS,GAAGC,IAAI,CAAC;IACpC,CAAC;IACDC,UAAU,EAAED,IAAI,IAAI;MAClBH,UAAU,CAACG,IAAI,CAAC,CAACC,UAAU,GAAGD,IAAI,CAAC;IACrC;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-host-pool.js","names":["HttpApiHostPool","constructor","map","source","get","key","absolute","variableName","Error","value","require","Request","url","getAll","keys","Object","fromEntries","exports"],"sources":["../../../../../src/preset/isomorphic/utils/http-api-host-pool.ts"],"sourcesContent":["import type { ConfigSource } from '../../../config';\nimport type { StrictMap } from '../types';\n\n/** Реализация пула хостов. */\nexport class HttpApiHostPool<Key extends string> implements StrictMap<Key> {\n private map: Record<Key, string>;\n private source: ConfigSource;\n\n /**\n * Конструктор.\n * @param map Карта \"Название api >> Название переменной среды с хостом api\".\n * @param source Источник конфигурации.\n */\n constructor(map: Record<Key, string>, source: ConfigSource) {\n this.map = map;\n this.source = source;\n }\n\n /** @inheritDoc */\n get(key: Key, { absolute }: { absolute?: boolean } = {}): string {\n const variableName = this.map[key];\n\n if (!variableName) {\n throw Error(`Known HTTP API not found by key \"${key}\"`);\n }\n\n // \"лениво\" берём переменную, именно в момент вызова (чтобы не заставлять указывать в сервисах все переменные разом)\n const value = this.source.require(variableName);\n\n if (absolute) {\n return new Request(value).url;\n }\n\n return value;\n }\n\n /**\n * Возвращает объект в котором ключи - переданные имена хостов а значения - хосты.\n * @param keys Названия хостов.\n * @return Объект.\n */\n getAll(keys: Key[] = Object.keys(this.map) as Key[]): Record<Key, string> {\n return Object.fromEntries(keys.map(key => [key, this.get(key)])) as Record<Key, string>;\n }\n}\n"],"mappings":";;;;;;AAGA;AACO,MAAMA,eAAe,CAA+C;EAIzE;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,GAAwB,EAAEC,MAAoB,EAAE;IAC1D,IAAI,CAACD,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;;EAEA;EACAC,GAAGA,CAACC,GAAQ,EAAE;IAAEC;EAAiC,CAAC,GAAG,CAAC,CAAC,EAAU;IAC/D,MAAMC,YAAY,GAAG,IAAI,CAACL,GAAG,CAACG,GAAG,CAAC;IAElC,IAAI,CAACE,YAAY,EAAE;MACjB,MAAMC,KAAK,
|
|
1
|
+
{"version":3,"file":"http-api-host-pool.js","names":["HttpApiHostPool","constructor","map","source","get","key","absolute","variableName","Error","value","require","Request","url","getAll","keys","Object","fromEntries","exports"],"sources":["../../../../../src/preset/isomorphic/utils/http-api-host-pool.ts"],"sourcesContent":["import type { ConfigSource } from '../../../config';\nimport type { StrictMap } from '../types';\n\n/** Реализация пула хостов. */\nexport class HttpApiHostPool<Key extends string> implements StrictMap<Key> {\n private map: Record<Key, string>;\n private source: ConfigSource;\n\n /**\n * Конструктор.\n * @param map Карта \"Название api >> Название переменной среды с хостом api\".\n * @param source Источник конфигурации.\n */\n constructor(map: Record<Key, string>, source: ConfigSource) {\n this.map = map;\n this.source = source;\n }\n\n /** @inheritDoc */\n get(key: Key, { absolute }: { absolute?: boolean } = {}): string {\n const variableName = this.map[key];\n\n if (!variableName) {\n throw Error(`Known HTTP API not found by key \"${key}\"`);\n }\n\n // \"лениво\" берём переменную, именно в момент вызова (чтобы не заставлять указывать в сервисах все переменные разом)\n const value = this.source.require(variableName);\n\n if (absolute) {\n return new Request(value).url;\n }\n\n return value;\n }\n\n /**\n * Возвращает объект в котором ключи - переданные имена хостов а значения - хосты.\n * @param keys Названия хостов.\n * @return Объект.\n */\n getAll(keys: Key[] = Object.keys(this.map) as Key[]): Record<Key, string> {\n return Object.fromEntries(keys.map(key => [key, this.get(key)])) as Record<Key, string>;\n }\n}\n"],"mappings":";;;;;;AAGA;AACO,MAAMA,eAAe,CAA+C;EAIzE;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,GAAwB,EAAEC,MAAoB,EAAE;IAC1D,IAAI,CAACD,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;;EAEA;EACAC,GAAGA,CAACC,GAAQ,EAAE;IAAEC;EAAiC,CAAC,GAAG,CAAC,CAAC,EAAU;IAC/D,MAAMC,YAAY,GAAG,IAAI,CAACL,GAAG,CAACG,GAAG,CAAC;IAElC,IAAI,CAACE,YAAY,EAAE;MACjB,MAAMC,KAAK,CAAC,oCAAoCH,GAAG,GAAG,CAAC;IACzD;;IAEA;IACA,MAAMI,KAAK,GAAG,IAAI,CAACN,MAAM,CAACO,OAAO,CAACH,YAAY,CAAC;IAE/C,IAAID,QAAQ,EAAE;MACZ,OAAO,IAAIK,OAAO,CAACF,KAAK,CAAC,CAACG,GAAG;IAC/B;IAEA,OAAOH,KAAK;EACd;;EAEA;AACF;AACA;AACA;AACA;EACEI,MAAMA,CAACC,IAAW,GAAGC,MAAM,CAACD,IAAI,CAAC,IAAI,CAACZ,GAAG,CAAU,EAAuB;IACxE,OAAOa,MAAM,CAACC,WAAW,CAACF,IAAI,CAACZ,GAAG,CAACG,GAAG,IAAI,CAACA,GAAG,EAAE,IAAI,CAACD,GAAG,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC;EAClE;AACF;AAACY,OAAA,CAAAjB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-status.js","names":["HttpStatus","isOk","status","isPostOk","isDeleteOk","axiosMiddleware","config","next","defaults","validateStatus","undefined","method","toLowerCase","exports"],"sources":["../../../../../src/preset/isomorphic/utils/http-status.ts"],"sourcesContent":["import type { AxiosRequestConfig } from 'axios';\nimport type { Middleware as AxiosMiddleware } from 'middleware-axios';\n\n/** Работа с HTTP-статусами по соглашению. */\nexport abstract class HttpStatus {\n /**\n * Определяет, является ли переданный статус успешным.\n * @param status Статус.\n * @return Признак.\n */\n static isOk(status: unknown): boolean {\n return typeof status === 'number' && status === 200;\n }\n\n /**\n * Определяет, является ли переданный статус успешным POST.\n * @param status Статус.\n * @return Признак.\n */\n static isPostOk(status: unknown): boolean {\n return typeof status === 'number' && status === 201;\n }\n\n /**\n * Определяет, является ли переданный статус успешным DELETE.\n * @param status Статус.\n * @return Признак.\n */\n static isDeleteOk(status: unknown): boolean {\n return typeof status === 'number' && (status === 204 || status === 200);\n }\n\n /**\n * Возвращает новый промежуточный слой для валидации статуса HTTP-ответа.\n * Валидация применяется только если в конфиге запроса не указан validateStatus.\n * @return Промежуточный слой.\n */\n static axiosMiddleware(): AxiosMiddleware<unknown> {\n return async (config, next, defaults) => {\n if (config.validateStatus !== undefined || defaults.validateStatus !== undefined) {\n // если validateStatus указан явно то не применяем валидацию по умолчанию\n await next(config);\n } else {\n let validateStatus: AxiosRequestConfig['validateStatus'] = null;\n\n switch (config.method?.toLowerCase()) {\n case 'get':\n case 'put':\n case undefined:\n validateStatus = HttpStatus.isOk;\n break;\n case 'post':\n validateStatus = HttpStatus.isPostOk;\n break;\n case 'delete':\n validateStatus = HttpStatus.isDeleteOk;\n break;\n }\n\n await next({ ...config, validateStatus });\n }\n };\n }\n}\n"],"mappings":";;;;;;AAGA;AACO,MAAeA,UAAU,CAAC;EAC/B;AACF;AACA;AACA;AACA;EACE,OAAOC,IAAIA,CAACC,MAAe,EAAW;IACpC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,GAAG;EACrD;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOC,QAAQA,CAACD,MAAe,EAAW;IACxC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,GAAG;EACrD;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOE,UAAUA,CAACF,MAAe,EAAW;IAC1C,OAAO,OAAOA,MAAM,KAAK,QAAQ,KAAKA,MAAM,KAAK,GAAG,IAAIA,MAAM,KAAK,GAAG,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOG,eAAeA,CAAA,EAA6B;IACjD,OAAO,OAAOC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,KAAK;MACvC,IAAIF,MAAM,CAACG,cAAc,KAAKC,SAAS,IAAIF,QAAQ,CAACC,cAAc,KAAKC,SAAS,EAAE;QAChF;QACA,MAAMH,IAAI,CAACD,MAAM,CAAC;MACpB,CAAC,MAAM;QACL,IAAIG,cAAoD,GAAG,IAAI;QAE/D,QAAQH,MAAM,CAACK,MAAM,EAAEC,WAAW,CAAC,CAAC;UAClC,KAAK,KAAK;UACV,KAAK,KAAK;UACV,KAAKF,SAAS;YACZD,cAAc,GAAGT,UAAU,CAACC,IAAI;YAChC;UACF,KAAK,MAAM;YACTQ,cAAc,GAAGT,UAAU,CAACG,QAAQ;YACpC;UACF,KAAK,QAAQ;YACXM,cAAc,GAAGT,UAAU,CAACI,UAAU;YACtC;QACJ;QAEA,MAAMG,IAAI,CAAC;UAAE,GAAGD,MAAM;UAAEG;QAAe,CAAC,CAAC;MAC3C;IACF,CAAC;EACH;AACF;AAACI,OAAA,CAAAb,UAAA,GAAAA,UAAA"}
|
|
1
|
+
{"version":3,"file":"http-status.js","names":["HttpStatus","isOk","status","isPostOk","isDeleteOk","axiosMiddleware","config","next","defaults","validateStatus","undefined","method","toLowerCase","exports"],"sources":["../../../../../src/preset/isomorphic/utils/http-status.ts"],"sourcesContent":["import type { AxiosRequestConfig } from 'axios';\nimport type { Middleware as AxiosMiddleware } from 'middleware-axios';\n\n/** Работа с HTTP-статусами по соглашению. */\nexport abstract class HttpStatus {\n /**\n * Определяет, является ли переданный статус успешным.\n * @param status Статус.\n * @return Признак.\n */\n static isOk(status: unknown): boolean {\n return typeof status === 'number' && status === 200;\n }\n\n /**\n * Определяет, является ли переданный статус успешным POST.\n * @param status Статус.\n * @return Признак.\n */\n static isPostOk(status: unknown): boolean {\n return typeof status === 'number' && status === 201;\n }\n\n /**\n * Определяет, является ли переданный статус успешным DELETE.\n * @param status Статус.\n * @return Признак.\n */\n static isDeleteOk(status: unknown): boolean {\n return typeof status === 'number' && (status === 204 || status === 200);\n }\n\n /**\n * Возвращает новый промежуточный слой для валидации статуса HTTP-ответа.\n * Валидация применяется только если в конфиге запроса не указан validateStatus.\n * @return Промежуточный слой.\n */\n static axiosMiddleware(): AxiosMiddleware<unknown> {\n return async (config, next, defaults) => {\n if (config.validateStatus !== undefined || defaults.validateStatus !== undefined) {\n // если validateStatus указан явно то не применяем валидацию по умолчанию\n await next(config);\n } else {\n let validateStatus: AxiosRequestConfig['validateStatus'] = null;\n\n switch (config.method?.toLowerCase()) {\n case 'get':\n case 'put':\n case undefined:\n validateStatus = HttpStatus.isOk;\n break;\n case 'post':\n validateStatus = HttpStatus.isPostOk;\n break;\n case 'delete':\n validateStatus = HttpStatus.isDeleteOk;\n break;\n }\n\n await next({ ...config, validateStatus });\n }\n };\n }\n}\n"],"mappings":";;;;;;AAGA;AACO,MAAeA,UAAU,CAAC;EAC/B;AACF;AACA;AACA;AACA;EACE,OAAOC,IAAIA,CAACC,MAAe,EAAW;IACpC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,GAAG;EACrD;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOC,QAAQA,CAACD,MAAe,EAAW;IACxC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,GAAG;EACrD;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOE,UAAUA,CAACF,MAAe,EAAW;IAC1C,OAAO,OAAOA,MAAM,KAAK,QAAQ,KAAKA,MAAM,KAAK,GAAG,IAAIA,MAAM,KAAK,GAAG,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOG,eAAeA,CAAA,EAA6B;IACjD,OAAO,OAAOC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,KAAK;MACvC,IAAIF,MAAM,CAACG,cAAc,KAAKC,SAAS,IAAIF,QAAQ,CAACC,cAAc,KAAKC,SAAS,EAAE;QAChF;QACA,MAAMH,IAAI,CAACD,MAAM,CAAC;MACpB,CAAC,MAAM;QACL,IAAIG,cAAoD,GAAG,IAAI;QAE/D,QAAQH,MAAM,CAACK,MAAM,EAAEC,WAAW,CAAC,CAAC;UAClC,KAAK,KAAK;UACV,KAAK,KAAK;UACV,KAAKF,SAAS;YACZD,cAAc,GAAGT,UAAU,CAACC,IAAI;YAChC;UACF,KAAK,MAAM;YACTQ,cAAc,GAAGT,UAAU,CAACG,QAAQ;YACpC;UACF,KAAK,QAAQ;YACXM,cAAc,GAAGT,UAAU,CAACI,UAAU;YACtC;QACJ;QAEA,MAAMG,IAAI,CAAC;UAAE,GAAGD,MAAM;UAAEG;QAAe,CAAC,CAAC;MAC3C;IACF,CAAC;EACH;AACF;AAACI,OAAA,CAAAb,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saga-logging.js","names":["_log","require","SagaLogging","constructor","logger","onSagaError","error","info","DetailedError","message","extra","key","data","sagaStack","onConfigError","onTimeoutInterrupt","timeout","level","exports"],"sources":["../../../../../src/preset/isomorphic/utils/saga-logging.ts"],"sourcesContent":["import { DetailedError, type Logger } from '../../../log';\nimport type { SagaMiddlewareHandler } from '../../../utils/redux-saga';\nimport type { SagaErrorInfo, SagaInterruptInfo } from '../../../utils/redux-saga/types';\n\n/**\n * Лог событий запуска и выполнения redux-saga.\n */\nexport class SagaLogging implements SagaMiddlewareHandler {\n protected logger: Logger;\n\n /**\n * @param logger Logger.\n */\n constructor(logger: Logger) {\n this.logger = logger;\n }\n\n /**\n * При получении ошибки выполнения саги передаст ее логгеру ее с данными стека в extra.\n * @param error Ошибка.\n * @param info Инфо выполнения саги.\n */\n onSagaError(error: Error, info: SagaErrorInfo) {\n this.logger.error(\n new DetailedError(error.message, {\n extra: {\n key: 'Saga stack',\n data: info.sagaStack,\n },\n }),\n );\n }\n\n /**\n * При получении ошибки запуска саги передаст ее логгеру.\n * @param error Ошибка.\n */\n onConfigError(error: Error) {\n this.logger.error(error);\n }\n\n /**\n * При прерывании саги передаст информацию логгеру как ошибку.\n * @param info Инфо прерывания саги.\n */\n onTimeoutInterrupt({ timeout }: SagaInterruptInfo) {\n this.logger.error(\n new DetailedError(`Сага прервана по таймауту (${timeout}мс)`, {\n level: 'warning',\n }),\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACO,MAAMC,WAAW,CAAkC;EAGxD;AACF;AACA;EACEC,WAAWA,CAACC,MAAc,EAAE;IAC1B,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;;EAEA;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,KAAY,EAAEC,IAAmB,EAAE;IAC7C,IAAI,CAACH,MAAM,CAACE,KAAK,CACf,IAAIE,kBAAa,CAACF,KAAK,CAACG,OAAO,EAAE;MAC/BC,KAAK,EAAE;QACLC,GAAG,EAAE,YAAY;QACjBC,IAAI,EAAEL,IAAI,CAACM;MACb;IACF,CAAC,CACH,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACEC,aAAaA,CAACR,KAAY,EAAE;IAC1B,IAAI,CAACF,MAAM,CAACE,KAAK,CAACA,KAAK,CAAC;EAC1B;;EAEA;AACF;AACA;AACA;EACES,kBAAkBA,CAAC;IAAEC;EAA2B,CAAC,EAAE;IACjD,IAAI,CAACZ,MAAM,CAACE,KAAK,CACf,IAAIE,kBAAa,
|
|
1
|
+
{"version":3,"file":"saga-logging.js","names":["_log","require","SagaLogging","constructor","logger","onSagaError","error","info","DetailedError","message","extra","key","data","sagaStack","onConfigError","onTimeoutInterrupt","timeout","level","exports"],"sources":["../../../../../src/preset/isomorphic/utils/saga-logging.ts"],"sourcesContent":["import { DetailedError, type Logger } from '../../../log';\nimport type { SagaMiddlewareHandler } from '../../../utils/redux-saga';\nimport type { SagaErrorInfo, SagaInterruptInfo } from '../../../utils/redux-saga/types';\n\n/**\n * Лог событий запуска и выполнения redux-saga.\n */\nexport class SagaLogging implements SagaMiddlewareHandler {\n protected logger: Logger;\n\n /**\n * @param logger Logger.\n */\n constructor(logger: Logger) {\n this.logger = logger;\n }\n\n /**\n * При получении ошибки выполнения саги передаст ее логгеру ее с данными стека в extra.\n * @param error Ошибка.\n * @param info Инфо выполнения саги.\n */\n onSagaError(error: Error, info: SagaErrorInfo) {\n this.logger.error(\n new DetailedError(error.message, {\n extra: {\n key: 'Saga stack',\n data: info.sagaStack,\n },\n }),\n );\n }\n\n /**\n * При получении ошибки запуска саги передаст ее логгеру.\n * @param error Ошибка.\n */\n onConfigError(error: Error) {\n this.logger.error(error);\n }\n\n /**\n * При прерывании саги передаст информацию логгеру как ошибку.\n * @param info Инфо прерывания саги.\n */\n onTimeoutInterrupt({ timeout }: SagaInterruptInfo) {\n this.logger.error(\n new DetailedError(`Сага прервана по таймауту (${timeout}мс)`, {\n level: 'warning',\n }),\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACO,MAAMC,WAAW,CAAkC;EAGxD;AACF;AACA;EACEC,WAAWA,CAACC,MAAc,EAAE;IAC1B,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;;EAEA;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,KAAY,EAAEC,IAAmB,EAAE;IAC7C,IAAI,CAACH,MAAM,CAACE,KAAK,CACf,IAAIE,kBAAa,CAACF,KAAK,CAACG,OAAO,EAAE;MAC/BC,KAAK,EAAE;QACLC,GAAG,EAAE,YAAY;QACjBC,IAAI,EAAEL,IAAI,CAACM;MACb;IACF,CAAC,CACH,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACEC,aAAaA,CAACR,KAAY,EAAE;IAC1B,IAAI,CAACF,MAAM,CAACE,KAAK,CAACA,KAAK,CAAC;EAC1B;;EAEA;AACF;AACA;AACA;EACES,kBAAkBA,CAAC;IAAEC;EAA2B,CAAC,EAAE;IACjD,IAAI,CAACZ,MAAM,CAACE,KAAK,CACf,IAAIE,kBAAa,CAAC,8BAA8BQ,OAAO,KAAK,EAAE;MAC5DC,KAAK,EAAE;IACT,CAAC,CACH,CAAC;EACH;AACF;AAACC,OAAA,CAAAhB,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"severity-from-status.js","names":["severityFromStatus","status","result"],"sources":["../../../../../src/preset/isomorphic/utils/severity-from-status.ts"],"sourcesContent":["import type { SeverityLevel } from '@sentry/browser';\n\n/**\n * Возвращает уровень на основе статуса ответа.\n * @param status Статус HTTP-ответа.\n * @return Уровень.\n */\nexport function severityFromStatus(status: unknown): SeverityLevel {\n let result: SeverityLevel;\n\n if (typeof status === 'number') {\n switch (true) {\n case status >= 200 && status <= 299:\n result = 'info';\n break;\n case status >= 300 && status <= 499:\n result = 'warning';\n break;\n default:\n result = 'error';\n }\n } else {\n result = 'error';\n }\n\n return result;\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASA,kBAAkBA,CAACC,MAAe,EAAiB;EACjE,IAAIC,MAAqB;EAEzB,IAAI,OAAOD,MAAM,KAAK,QAAQ,EAAE;IAC9B,QAAQ,IAAI;MACV,KAAKA,MAAM,IAAI,GAAG,IAAIA,MAAM,IAAI,GAAG;QACjCC,MAAM,GAAG,MAAM;QACf;MACF,KAAKD,MAAM,IAAI,GAAG,IAAIA,MAAM,IAAI,GAAG;QACjCC,MAAM,GAAG,SAAS;QAClB;MACF;QACEA,MAAM,GAAG,OAAO;IACpB;EACF,CAAC,MAAM;IACLA,MAAM,GAAG,OAAO;EAClB;EAEA,OAAOA,MAAM;AACf"}
|
|
1
|
+
{"version":3,"file":"severity-from-status.js","names":["severityFromStatus","status","result"],"sources":["../../../../../src/preset/isomorphic/utils/severity-from-status.ts"],"sourcesContent":["import type { SeverityLevel } from '@sentry/browser';\n\n/**\n * Возвращает уровень на основе статуса ответа.\n * @param status Статус HTTP-ответа.\n * @return Уровень.\n */\nexport function severityFromStatus(status: unknown): SeverityLevel {\n let result: SeverityLevel;\n\n if (typeof status === 'number') {\n switch (true) {\n case status >= 200 && status <= 299:\n result = 'info';\n break;\n case status >= 300 && status <= 499:\n result = 'warning';\n break;\n default:\n result = 'error';\n }\n } else {\n result = 'error';\n }\n\n return result;\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASA,kBAAkBA,CAACC,MAAe,EAAiB;EACjE,IAAIC,MAAqB;EAEzB,IAAI,OAAOD,MAAM,KAAK,QAAQ,EAAE;IAC9B,QAAQ,IAAI;MACV,KAAKA,MAAM,IAAI,GAAG,IAAIA,MAAM,IAAI,GAAG;QACjCC,MAAM,GAAG,MAAM;QACf;MACF,KAAKD,MAAM,IAAI,GAAG,IAAIA,MAAM,IAAI,GAAG;QACjCC,MAAM,GAAG,SAAS;QAClB;MACF;QACEA,MAAM,GAAG,OAAO;IACpB;EACF,CAAC,MAAM;IACLA,MAAM,GAAG,OAAO;EAClB;EAEA,OAAOA,MAAM;AACf","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_tokens","require","_axiosFactory","_fetch","_baseConfig","_di","_healthCheck","_configSource","_expressErrorMiddleware","_expressFactory","_expressLogMiddleware","_expressMetricsMiddleware","_expressRequestMiddleware","_expressTracingMiddleware","_knownHttpApiHosts","_logger","_metricsExpressApp","_telemetryTracer","_telemetryTracerSpanExporter","_ssrBridgeServerSide","_telemetryTracerProvider","_telemetryTracerResource","_mainExpressApp","_publicEnvs","_getClientIp","_getForwardedHeaders","_getPageResponseFormat","_handlerProvider","PresetNode","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","publicEnvs","providePublicEnvs","logger","provideLogger","Tracing","tracer","provideTracer","spanExporter","provideSpanExporter","provider","provideTracingProvider","resource","provideTracingResource","Metrics","expressApp","provideMetricsExpressApp","Http","fetch","provideFetch","Fetch","middleware","Serve","Proxy","config","Axios","factory","provideAxiosFactory","Express","app","provideMainExpressApp","pageRoutes","serviceRoutes","resolve","Handlers","healthCheck","Middleware","request","log","metrics","tracing","endMiddleware","error","provideExpressFactory","provideExpressRequestMiddleware","provideExpressLogMiddleware","provideExpressMetricsMiddleware","provideExpressTracingMiddleware","provideExpressErrorMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["import { KnownToken } from '../../tokens';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { Preset, createPreset } from '../../di';\nimport { PresetTuner } from '../isomorphic/types';\nimport { healthCheck } from '../../utils/express/handler/health-check';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideExpressErrorMiddleware } from './providers/express-error-middleware';\nimport { provideExpressFactory } from './providers/express-factory';\nimport { provideExpressLogMiddleware } from './providers/express-log-middleware';\nimport { provideExpressMetricsMiddleware } from './providers/express-metrics-middleware';\nimport { provideExpressRequestMiddleware } from './providers/express-request-middleware';\nimport { provideExpressTracingMiddleware } from './providers/express-tracing-middleware';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideLogger } from './providers/logger';\nimport { provideMetricsExpressApp } from './providers/metrics-express-app';\nimport { provideTracer } from './providers/telemetry-tracer';\nimport { provideSpanExporter } from './providers/telemetry-tracer-span-exporter';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideTracingProvider } from './providers/telemetry-tracer-provider';\nimport { provideTracingResource } from './providers/telemetry-tracer-resource';\nimport { provideMainExpressApp } from './providers/main-express-app';\nimport { ExpressRouteList } from './types';\nimport { providePublicEnvs } from './providers/public-envs';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetNode(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n preset.set(KnownToken.Config.publicEnvs, providePublicEnvs);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n preset.set(KnownToken.Tracing.tracer, provideTracer);\n preset.set(KnownToken.Tracing.spanExporter, provideSpanExporter);\n preset.set(KnownToken.Tracing.provider, provideTracingProvider);\n preset.set(KnownToken.Tracing.resource, provideTracingResource);\n\n // metrics\n preset.set(KnownToken.Metrics.expressApp, provideMetricsExpressApp);\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, () => []);\n preset.set(KnownToken.Http.Serve.Proxy.config, () => null);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, () => []);\n\n // express\n preset.set(KnownToken.Express.app, provideMainExpressApp);\n preset.set(KnownToken.Express.pageRoutes, () => []);\n preset.set(\n KnownToken.Express.serviceRoutes,\n (resolve): ExpressRouteList => [\n ['/healthcheck', resolve(KnownToken.Express.Handlers.healthCheck)],\n ],\n );\n preset.set(KnownToken.Express.middleware, resolve => [\n resolve(KnownToken.Express.Middleware.request),\n resolve(KnownToken.Express.Middleware.log),\n resolve(KnownToken.Express.Middleware.metrics),\n resolve(KnownToken.Express.Middleware.tracing),\n ]);\n preset.set(KnownToken.Express.endMiddleware, resolve => [\n resolve(KnownToken.Express.Middleware.error),\n ]);\n preset.set(KnownToken.Express.factory, provideExpressFactory);\n preset.set(KnownToken.Express.Handlers.healthCheck, healthCheck);\n preset.set(KnownToken.Express.Middleware.request, provideExpressRequestMiddleware);\n preset.set(KnownToken.Express.Middleware.log, provideExpressLogMiddleware);\n preset.set(KnownToken.Express.Middleware.metrics, provideExpressMetricsMiddleware);\n preset.set(KnownToken.Express.Middleware.tracing, provideExpressTracingMiddleware);\n preset.set(KnownToken.Express.Middleware.error, provideExpressErrorMiddleware);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\nexport type { ExpressHandlerContext, ExpressRouteList } from './types';\n\n// доступные утилиты\nexport { getClientIp } from './utils/get-client-ip';\nexport { getForwardedHeaders } from './utils/get-forwarded-headers';\nexport { getPageResponseFormat } from './utils/get-page-response-format';\nexport { HandlerProvider } from './utils/handler-provider';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_tokens","require","_axiosFactory","_fetch","_baseConfig","_di","_healthCheck","_configSource","_expressErrorMiddleware","_expressFactory","_expressLogMiddleware","_expressMetricsMiddleware","_expressRequestMiddleware","_expressTracingMiddleware","_knownHttpApiHosts","_logger","_metricsExpressApp","_telemetryTracer","_telemetryTracerSpanExporter","_ssrBridgeServerSide","_telemetryTracerProvider","_telemetryTracerResource","_mainExpressApp","_publicEnvs","_getClientIp","_getForwardedHeaders","_getPageResponseFormat","_handlerProvider","PresetNode","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","publicEnvs","providePublicEnvs","logger","provideLogger","Tracing","tracer","provideTracer","spanExporter","provideSpanExporter","provider","provideTracingProvider","resource","provideTracingResource","Metrics","expressApp","provideMetricsExpressApp","Http","fetch","provideFetch","Fetch","middleware","Serve","Proxy","config","Axios","factory","provideAxiosFactory","Express","app","provideMainExpressApp","pageRoutes","serviceRoutes","resolve","Handlers","healthCheck","Middleware","request","log","metrics","tracing","endMiddleware","error","provideExpressFactory","provideExpressRequestMiddleware","provideExpressLogMiddleware","provideExpressMetricsMiddleware","provideExpressTracingMiddleware","provideExpressErrorMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["import { KnownToken } from '../../tokens';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { Preset, createPreset } from '../../di';\nimport { PresetTuner } from '../isomorphic/types';\nimport { healthCheck } from '../../utils/express/handler/health-check';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideExpressErrorMiddleware } from './providers/express-error-middleware';\nimport { provideExpressFactory } from './providers/express-factory';\nimport { provideExpressLogMiddleware } from './providers/express-log-middleware';\nimport { provideExpressMetricsMiddleware } from './providers/express-metrics-middleware';\nimport { provideExpressRequestMiddleware } from './providers/express-request-middleware';\nimport { provideExpressTracingMiddleware } from './providers/express-tracing-middleware';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideLogger } from './providers/logger';\nimport { provideMetricsExpressApp } from './providers/metrics-express-app';\nimport { provideTracer } from './providers/telemetry-tracer';\nimport { provideSpanExporter } from './providers/telemetry-tracer-span-exporter';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideTracingProvider } from './providers/telemetry-tracer-provider';\nimport { provideTracingResource } from './providers/telemetry-tracer-resource';\nimport { provideMainExpressApp } from './providers/main-express-app';\nimport { ExpressRouteList } from './types';\nimport { providePublicEnvs } from './providers/public-envs';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetNode(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n preset.set(KnownToken.Config.publicEnvs, providePublicEnvs);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n preset.set(KnownToken.Tracing.tracer, provideTracer);\n preset.set(KnownToken.Tracing.spanExporter, provideSpanExporter);\n preset.set(KnownToken.Tracing.provider, provideTracingProvider);\n preset.set(KnownToken.Tracing.resource, provideTracingResource);\n\n // metrics\n preset.set(KnownToken.Metrics.expressApp, provideMetricsExpressApp);\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, () => []);\n preset.set(KnownToken.Http.Serve.Proxy.config, () => null);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, () => []);\n\n // express\n preset.set(KnownToken.Express.app, provideMainExpressApp);\n preset.set(KnownToken.Express.pageRoutes, () => []);\n preset.set(\n KnownToken.Express.serviceRoutes,\n (resolve): ExpressRouteList => [\n ['/healthcheck', resolve(KnownToken.Express.Handlers.healthCheck)],\n ],\n );\n preset.set(KnownToken.Express.middleware, resolve => [\n resolve(KnownToken.Express.Middleware.request),\n resolve(KnownToken.Express.Middleware.log),\n resolve(KnownToken.Express.Middleware.metrics),\n resolve(KnownToken.Express.Middleware.tracing),\n ]);\n preset.set(KnownToken.Express.endMiddleware, resolve => [\n resolve(KnownToken.Express.Middleware.error),\n ]);\n preset.set(KnownToken.Express.factory, provideExpressFactory);\n preset.set(KnownToken.Express.Handlers.healthCheck, healthCheck);\n preset.set(KnownToken.Express.Middleware.request, provideExpressRequestMiddleware);\n preset.set(KnownToken.Express.Middleware.log, provideExpressLogMiddleware);\n preset.set(KnownToken.Express.Middleware.metrics, provideExpressMetricsMiddleware);\n preset.set(KnownToken.Express.Middleware.tracing, provideExpressTracingMiddleware);\n preset.set(KnownToken.Express.Middleware.error, provideExpressErrorMiddleware);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\nexport type { ExpressHandlerContext, ExpressRouteList } from './types';\n\n// доступные утилиты\nexport { getClientIp } from './utils/get-client-ip';\nexport { getForwardedHeaders } from './utils/get-forwarded-headers';\nexport { getPageResponseFormat } from './utils/get-page-response-format';\nexport { HandlerProvider } from './utils/handler-provider';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-source.js","names":["_nodePath","_interopRequireDefault","require","_dotenv","_config","e","__esModule","default","provideConfigSource","envName","process","env","NODE_ENV","applyDotenv","path","resolve","cwd","createConfigSource"],"sources":["../../../../../src/preset/node/providers/config-source.ts"],"sourcesContent":["import path from 'node:path';\nimport { config as applyDotenv } from 'dotenv';\nimport { ConfigSource, createConfigSource } from '../../../config';\n\n/**\n * Провайдер источника конфигурации.\n * @return Источник конфигурации.\n */\nexport function provideConfigSource(): ConfigSource {\n const envName = process.env.NODE_ENV;\n\n // подключаем соответствующий среде файл со значениями по умолчанию\n if (envName) {\n applyDotenv({ path: path.resolve(process.cwd(), `./.env.${envName}`) });\n }\n\n // @todo подключать .env, .env.local, .env.<envName>, .env.<envName>.local как в Vite/Bun\n\n return createConfigSource(process.env);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAAmE,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnE;AACA;AACA;AACA;AACO,SAASG,mBAAmBA,CAAA,EAAiB;EAClD,MAAMC,OAAO,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ;;EAEpC;EACA,IAAIH,OAAO,EAAE;IACX,IAAAI,cAAW,EAAC;MAAEC,IAAI,EAAEA,iBAAI,CAACC,OAAO,CAACL,OAAO,CAACM,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"config-source.js","names":["_nodePath","_interopRequireDefault","require","_dotenv","_config","e","__esModule","default","provideConfigSource","envName","process","env","NODE_ENV","applyDotenv","path","resolve","cwd","createConfigSource"],"sources":["../../../../../src/preset/node/providers/config-source.ts"],"sourcesContent":["import path from 'node:path';\nimport { config as applyDotenv } from 'dotenv';\nimport { ConfigSource, createConfigSource } from '../../../config';\n\n/**\n * Провайдер источника конфигурации.\n * @return Источник конфигурации.\n */\nexport function provideConfigSource(): ConfigSource {\n const envName = process.env.NODE_ENV;\n\n // подключаем соответствующий среде файл со значениями по умолчанию\n if (envName) {\n applyDotenv({ path: path.resolve(process.cwd(), `./.env.${envName}`) });\n }\n\n // @todo подключать .env, .env.local, .env.<envName>, .env.<envName>.local как в Vite/Bun\n\n return createConfigSource(process.env);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAAmE,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnE;AACA;AACA;AACA;AACO,SAASG,mBAAmBA,CAAA,EAAiB;EAClD,MAAMC,OAAO,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ;;EAEpC;EACA,IAAIH,OAAO,EAAE;IACX,IAAAI,cAAW,EAAC;MAAEC,IAAI,EAAEA,iBAAI,CAACC,OAAO,CAACL,OAAO,CAACM,GAAG,CAAC,CAAC,EAAE,UAAUP,OAAO,EAAE;IAAE,CAAC,CAAC;EACzE;;EAEA;;EAEA,OAAO,IAAAQ,0BAAkB,EAACP,OAAO,CAACC,GAAG,CAAC;AACxC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-error-middleware.js","names":["_node","require","provideExpressErrorMiddleware","expressErrorHandler"],"sources":["../../../../../src/preset/node/providers/express-error-middleware.ts"],"sourcesContent":["import { expressErrorHandler } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя обработки ошибок в рамках ответ на http-запросы.\n * @return Промежуточный слой.\n */\nexport function provideExpressErrorMiddleware(): express.ErrorRequestHandler {\n return expressErrorHandler();\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACO,SAASC,6BAA6BA,CAAA,EAAgC;EAC3E,OAAO,IAAAC,yBAAmB,EAAC,CAAC;AAC9B"}
|
|
1
|
+
{"version":3,"file":"express-error-middleware.js","names":["_node","require","provideExpressErrorMiddleware","expressErrorHandler"],"sources":["../../../../../src/preset/node/providers/express-error-middleware.ts"],"sourcesContent":["import { expressErrorHandler } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя обработки ошибок в рамках ответ на http-запросы.\n * @return Промежуточный слой.\n */\nexport function provideExpressErrorMiddleware(): express.ErrorRequestHandler {\n return expressErrorHandler();\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACO,SAASC,6BAA6BA,CAAA,EAAgC;EAC3E,OAAO,IAAAC,yBAAmB,EAAC,CAAC;AAC9B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-factory.js","names":["_express","_interopRequireDefault","require","e","__esModule","default","provideExpressFactory","express"],"sources":["../../../../../src/preset/node/providers/express-factory.ts"],"sourcesContent":["import express from 'express';\n\n/**\n * Провайдер фабрики http-серверов.\n * @return Фабрика.\n */\nexport function provideExpressFactory() {\n return express;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAAA,EAAG;EACtC,OAAOC,gBAAO;AAChB"}
|
|
1
|
+
{"version":3,"file":"express-factory.js","names":["_express","_interopRequireDefault","require","e","__esModule","default","provideExpressFactory","express"],"sources":["../../../../../src/preset/node/providers/express-factory.ts"],"sourcesContent":["import express from 'express';\n\n/**\n * Провайдер фабрики http-серверов.\n * @return Фабрика.\n */\nexport function provideExpressFactory() {\n return express;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAAA,EAAG;EACtC,OAAOC,gBAAO;AAChB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-log-middleware.js","names":["_tokens","require","_getClientIp","_utils","provideExpressLogMiddleware","resolve","config","KnownToken","Config","base","logger","req","res","next","start","process","hrtime","bigint","remoteIp","getClientIp","startMsg","type","version","appVersion","route","originalUrl","method","remote_ip","info","once","finish","finishMsg","status","statusCode","latency","toMilliseconds"],"sources":["../../../../../src/preset/node/providers/express-log-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport type { ConventionalFluentInfo } from '../../../log/types';\nimport { KnownToken } from '../../../tokens';\nimport { getClientIp } from '../utils/get-client-ip';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя логирования входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressLogMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return (req, res, next) => {\n const start = process.hrtime.bigint();\n const remoteIp = getClientIp(req) ?? '';\n\n const startMsg: Omit<ConventionalFluentInfo, 'latency' | 'status'> & { type: string } = {\n type: 'http.request[incoming]',\n version: config.appVersion,\n route: req.originalUrl,\n method: req.method,\n remote_ip: remoteIp,\n };\n\n logger.info(startMsg);\n\n res.once('finish', () => {\n const finish = process.hrtime.bigint();\n\n const finishMsg: ConventionalFluentInfo & { type: string } = {\n type: 'http.response[outgoing]',\n version: config.appVersion,\n route: req.originalUrl,\n method: req.method,\n status: res.statusCode,\n remote_ip: remoteIp,\n latency: toMilliseconds(finish - start),\n };\n\n logger.info(finishMsg);\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,2BAA2BA,CAACC,OAAgB,EAAmB;EAC7E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EAEzC,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IACzB,MAAMC,KAAK,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAG,IAAAC,wBAAW,EAACR,GAAG,CAAC,IAAI,EAAE;IAEvC,MAAMS,QAA+E,GAAG;MACtFC,IAAI,EAAE,wBAAwB;MAC9BC,OAAO,EAAEhB,MAAM,CAACiB,UAAU;MAC1BC,KAAK,EAAEb,GAAG,CAACc,WAAW;MACtBC,MAAM,EAAEf,GAAG,CAACe,MAAM;MAClBC,SAAS,EAAET;IACb,CAAC;IAEDR,MAAM,CAACkB,IAAI,CAACR,QAAQ,CAAC;IAErBR,GAAG,CAACiB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMC,MAAM,GAAGf,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAEtC,MAAMc,SAAoD,GAAG;QAC3DV,IAAI,EAAE,yBAAyB;QAC/BC,OAAO,EAAEhB,MAAM,CAACiB,UAAU;QAC1BC,KAAK,EAAEb,GAAG,CAACc,WAAW;QACtBC,MAAM,EAAEf,GAAG,CAACe,MAAM;QAClBM,MAAM,EAAEpB,GAAG,CAACqB,UAAU;QACtBN,SAAS,EAAET,QAAQ;QACnBgB,OAAO,EAAE,IAAAC,qBAAc,EAACL,MAAM,GAAGhB,KAAK;MACxC,CAAC;MAEDJ,MAAM,CAACkB,IAAI,CAACG,SAAS,CAAC;IACxB,CAAC,CAAC;IAEFlB,IAAI,CAAC,CAAC;EACR,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"express-log-middleware.js","names":["_tokens","require","_getClientIp","_utils","provideExpressLogMiddleware","resolve","config","KnownToken","Config","base","logger","req","res","next","start","process","hrtime","bigint","remoteIp","getClientIp","startMsg","type","version","appVersion","route","originalUrl","method","remote_ip","info","once","finish","finishMsg","status","statusCode","latency","toMilliseconds"],"sources":["../../../../../src/preset/node/providers/express-log-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport type { ConventionalFluentInfo } from '../../../log/types';\nimport { KnownToken } from '../../../tokens';\nimport { getClientIp } from '../utils/get-client-ip';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя логирования входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressLogMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return (req, res, next) => {\n const start = process.hrtime.bigint();\n const remoteIp = getClientIp(req) ?? '';\n\n const startMsg: Omit<ConventionalFluentInfo, 'latency' | 'status'> & { type: string } = {\n type: 'http.request[incoming]',\n version: config.appVersion,\n route: req.originalUrl,\n method: req.method,\n remote_ip: remoteIp,\n };\n\n logger.info(startMsg);\n\n res.once('finish', () => {\n const finish = process.hrtime.bigint();\n\n const finishMsg: ConventionalFluentInfo & { type: string } = {\n type: 'http.response[outgoing]',\n version: config.appVersion,\n route: req.originalUrl,\n method: req.method,\n status: res.statusCode,\n remote_ip: remoteIp,\n latency: toMilliseconds(finish - start),\n };\n\n logger.info(finishMsg);\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,2BAA2BA,CAACC,OAAgB,EAAmB;EAC7E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EAEzC,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IACzB,MAAMC,KAAK,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAG,IAAAC,wBAAW,EAACR,GAAG,CAAC,IAAI,EAAE;IAEvC,MAAMS,QAA+E,GAAG;MACtFC,IAAI,EAAE,wBAAwB;MAC9BC,OAAO,EAAEhB,MAAM,CAACiB,UAAU;MAC1BC,KAAK,EAAEb,GAAG,CAACc,WAAW;MACtBC,MAAM,EAAEf,GAAG,CAACe,MAAM;MAClBC,SAAS,EAAET;IACb,CAAC;IAEDR,MAAM,CAACkB,IAAI,CAACR,QAAQ,CAAC;IAErBR,GAAG,CAACiB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMC,MAAM,GAAGf,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAEtC,MAAMc,SAAoD,GAAG;QAC3DV,IAAI,EAAE,yBAAyB;QAC/BC,OAAO,EAAEhB,MAAM,CAACiB,UAAU;QAC1BC,KAAK,EAAEb,GAAG,CAACc,WAAW;QACtBC,MAAM,EAAEf,GAAG,CAACe,MAAM;QAClBM,MAAM,EAAEpB,GAAG,CAACqB,UAAU;QACtBN,SAAS,EAAET,QAAQ;QACnBgB,OAAO,EAAE,IAAAC,qBAAc,EAACL,MAAM,GAAGhB,KAAK;MACxC,CAAC;MAEDJ,MAAM,CAACkB,IAAI,CAACG,SAAS,CAAC;IACxB,CAAC,CAAC;IAEFlB,IAAI,CAAC,CAAC;EACR,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-metrics-middleware.js","names":["_getHandlerMetrics","require","_tokens","_server","_utils","provideExpressMetricsMiddleware","resolve","config","KnownToken","Config","base","requestCount","renderDuration","responseDuration","getHandlerMetrics","getLabels","req","res","version","appVersion","route","baseUrl","path","code","statusCode","method","getRenderLabels","request","url","next","responseStart","process","hrtime","bigint","inc","once","PAGE_HANDLER_EVENT_TYPE","renderStart","renderFinish","observe","toMilliseconds","responseFinish"],"sources":["../../../../../src/preset/node/providers/express-metrics-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { LABEL_NAMES, getHandlerMetrics } from '../utils/get-handler-metrics';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя сбора метрик входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressMetricsMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /**\n * Функция формирования labels.\n * @param req Request.\n * @param res Response.\n * @return Labels.\n */\n const getLabels = (\n req: express.Request,\n res: express.Response,\n ): Record<(typeof LABEL_NAMES.httpResponse)[number], string | number> => ({\n version: config.appVersion,\n route: req.baseUrl + req.path,\n code: res.statusCode,\n method: req.method,\n });\n\n /** @inheritdoc */\n const getRenderLabels = (request: express.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 (req, res, next) => {\n const responseStart = process.hrtime.bigint();\n\n requestCount.inc(getLabels(req, res), 1);\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n const renderStart = process.hrtime.bigint();\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(getRenderLabels(req), toMilliseconds(renderFinish - renderStart));\n });\n });\n\n res.once('finish', () => {\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(getLabels(req, res), toMilliseconds(responseFinish - responseStart));\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,oCAAiB,EAAC,CAAC;;EAE9E;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,SAAS,GAAGA,CAChBC,GAAoB,EACpBC,GAAqB,MACmD;IACxEC,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,OAAO,GAAGL,GAAG,CAACM,IAAI;IAC7BC,IAAI,EAAEN,GAAG,CAACO,UAAU;IACpBC,MAAM,EAAET,GAAG,CAACS;EACd,CAAC,CAAC;;EAEF;EACA,MAAMC,eAAe,GAAIC,OAAwB,KAC9C;IACCT,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BM,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBL,KAAK,EAAEO,OAAO,CAACC;EACjB,CAAC,CAA4E;EAE/E,OAAO,CAACZ,GAAG,EAAEC,GAAG,EAAEY,IAAI,KAAK;IACzB,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE7CtB,YAAY,CAACuB,GAAG,CAACnB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExCA,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACC,WAAW,EAAE,MAAM;MAClD,MAAMA,WAAW,GAAGN,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE3ChB,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACE,YAAY,EAAE,MAAM;QACnD,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;QAE5CrB,cAAc,CAAC2B,OAAO,CAACb,eAAe,CAACV,GAAG,CAAC,EAAE,IAAAwB,qBAAc,EAACF,YAAY,GAAGD,WAAW,CAAC,CAAC;MAC1F,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFpB,GAAG,CAACkB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMM,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE9CpB,gBAAgB,CAAC0B,OAAO,CAACxB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,IAAAuB,qBAAc,EAACC,cAAc,GAAGX,aAAa,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEFD,IAAI,CAAC,CAAC;EACR,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"express-metrics-middleware.js","names":["_getHandlerMetrics","require","_tokens","_server","_utils","provideExpressMetricsMiddleware","resolve","config","KnownToken","Config","base","requestCount","renderDuration","responseDuration","getHandlerMetrics","getLabels","req","res","version","appVersion","route","baseUrl","path","code","statusCode","method","getRenderLabels","request","url","next","responseStart","process","hrtime","bigint","inc","once","PAGE_HANDLER_EVENT_TYPE","renderStart","renderFinish","observe","toMilliseconds","responseFinish"],"sources":["../../../../../src/preset/node/providers/express-metrics-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { LABEL_NAMES, getHandlerMetrics } from '../utils/get-handler-metrics';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя сбора метрик входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressMetricsMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /**\n * Функция формирования labels.\n * @param req Request.\n * @param res Response.\n * @return Labels.\n */\n const getLabels = (\n req: express.Request,\n res: express.Response,\n ): Record<(typeof LABEL_NAMES.httpResponse)[number], string | number> => ({\n version: config.appVersion,\n route: req.baseUrl + req.path,\n code: res.statusCode,\n method: req.method,\n });\n\n /** @inheritdoc */\n const getRenderLabels = (request: express.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 (req, res, next) => {\n const responseStart = process.hrtime.bigint();\n\n requestCount.inc(getLabels(req, res), 1);\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n const renderStart = process.hrtime.bigint();\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(getRenderLabels(req), toMilliseconds(renderFinish - renderStart));\n });\n });\n\n res.once('finish', () => {\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(getLabels(req, res), toMilliseconds(responseFinish - responseStart));\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,oCAAiB,EAAC,CAAC;;EAE9E;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,SAAS,GAAGA,CAChBC,GAAoB,EACpBC,GAAqB,MACmD;IACxEC,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,OAAO,GAAGL,GAAG,CAACM,IAAI;IAC7BC,IAAI,EAAEN,GAAG,CAACO,UAAU;IACpBC,MAAM,EAAET,GAAG,CAACS;EACd,CAAC,CAAC;;EAEF;EACA,MAAMC,eAAe,GAAIC,OAAwB,KAC9C;IACCT,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BM,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBL,KAAK,EAAEO,OAAO,CAACC;EACjB,CAAC,CAA4E;EAE/E,OAAO,CAACZ,GAAG,EAAEC,GAAG,EAAEY,IAAI,KAAK;IACzB,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE7CtB,YAAY,CAACuB,GAAG,CAACnB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExCA,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACC,WAAW,EAAE,MAAM;MAClD,MAAMA,WAAW,GAAGN,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE3ChB,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACE,YAAY,EAAE,MAAM;QACnD,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;QAE5CrB,cAAc,CAAC2B,OAAO,CAACb,eAAe,CAACV,GAAG,CAAC,EAAE,IAAAwB,qBAAc,EAACF,YAAY,GAAGD,WAAW,CAAC,CAAC;MAC1F,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFpB,GAAG,CAACkB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMM,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE9CpB,gBAAgB,CAAC0B,OAAO,CAACxB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,IAAAuB,qBAAc,EAACC,cAAc,GAAGX,aAAa,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEFD,IAAI,CAAC,CAAC;EACR,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-request-middleware.js","names":["_node","require","provideExpressRequestMiddleware","req","res","next","withIsolationScope"],"sources":["../../../../../src/preset/node/providers/express-request-middleware.ts"],"sourcesContent":["import { withIsolationScope } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя учета входящих http-запросов.\n * @return Промежуточный слой.\n */\nexport function provideExpressRequestMiddleware(): express.Handler {\n // https://github.com/getsentry/sentry-javascript/discussions/9618#discussioncomment-9950984\n return (req, res, next) => {\n withIsolationScope(() => {\n next();\n });\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACO,SAASC,+BAA+BA,CAAA,EAAoB;EACjE;EACA,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IACzB,IAAAC,wBAAkB,EAAC,MAAM;MACvBD,IAAI,CAAC,CAAC;IACR,CAAC,CAAC;EACJ,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"express-request-middleware.js","names":["_node","require","provideExpressRequestMiddleware","req","res","next","withIsolationScope"],"sources":["../../../../../src/preset/node/providers/express-request-middleware.ts"],"sourcesContent":["import { withIsolationScope } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя учета входящих http-запросов.\n * @return Промежуточный слой.\n */\nexport function provideExpressRequestMiddleware(): express.Handler {\n // https://github.com/getsentry/sentry-javascript/discussions/9618#discussioncomment-9950984\n return (req, res, next) => {\n withIsolationScope(() => {\n next();\n });\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACO,SAASC,+BAA+BA,CAAA,EAAoB;EACjE;EACA,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IACzB,IAAAC,wBAAkB,EAAC,MAAM;MACvBD,IAAI,CAAC,CAAC;IACR,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-tracing-middleware.js","names":["_tokens","require","_api","_server","_incubating","provideExpressTracingMiddleware","resolve","tracer","KnownToken","Tracing","getConventionalRequestAttrs","req","result","ATTR_URL_PATH","originalUrl","headerName","headers","toLowerCase","startsWith","ATTR_HTTP_REQUEST_HEADER","header","res","next","externalContext","propagation","extract","ROOT_CONTEXT","rootSpan","startSpan","method","path","undefined","setAttributes","rootContext","trace","setSpan","locals","tracing","renderSpan","once","PAGE_HANDLER_EVENT_TYPE","renderStart","renderFinish","end","contentLength","getHeader","ATTR_HTTP_RESPONSE_STATUS_CODE","String","statusCode","ATTR_ERROR_TYPE","ATTR_HTTP_RESPONSE_BODY_SIZE"],"sources":["../../../../../src/preset/node/providers/express-tracing-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Attributes, ROOT_CONTEXT, propagation, trace } from '@opentelemetry/api';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport {\n ATTR_ERROR_TYPE,\n ATTR_HTTP_REQUEST_HEADER,\n ATTR_HTTP_RESPONSE_BODY_SIZE,\n ATTR_HTTP_RESPONSE_STATUS_CODE,\n ATTR_URL_PATH,\n} from '@opentelemetry/semantic-conventions/incubating';\n\n/**\n * Провайдер промежуточного слоя трассировки входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressTracingMiddleware(resolve: Resolve): express.Handler {\n const tracer = resolve(KnownToken.Tracing.tracer);\n\n /**\n * Возвращает набор стандартных атрибутов для спана.\n * @param req Входящий http-запрос.\n * @return Атрибуты.\n */\n const getConventionalRequestAttrs = (req: express.Request): Attributes => {\n const result: Attributes = {\n [ATTR_URL_PATH]: req.originalUrl,\n };\n\n for (const headerName in req.headers) {\n if (headerName.toLowerCase().startsWith('simaland-')) {\n result[`${ATTR_HTTP_REQUEST_HEADER(headerName)}`] = req.header(headerName);\n }\n }\n\n return result;\n };\n\n return (req, res, next) => {\n const externalContext = propagation.extract(ROOT_CONTEXT, req.headers);\n const rootSpan = tracer.startSpan(`${req.method} ${req.path}`, undefined, externalContext);\n\n rootSpan.setAttributes(getConventionalRequestAttrs(req));\n\n const rootContext = trace.setSpan(externalContext, rootSpan);\n\n res.locals.tracing = {\n rootSpan,\n rootContext,\n renderSpan: null,\n };\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n res.locals.tracing.renderSpan = tracer.startSpan(\n 'react:renderToString',\n undefined,\n rootContext,\n );\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n res.locals.tracing.renderSpan.end();\n });\n });\n\n res.once('finish', () => {\n const contentLength = res.getHeader('content-length') as string;\n rootSpan.setAttributes({\n [ATTR_HTTP_RESPONSE_STATUS_CODE]: String(res.statusCode),\n ...(res.statusCode > 400 && { [ATTR_ERROR_TYPE]: String(res.statusCode) }),\n ...(contentLength && { [ATTR_HTTP_RESPONSE_BODY_SIZE]: contentLength }),\n });\n rootSpan.end();\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAQA;AACA;AACA;AACA;AACA;AACO,SAASI,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,OAAO,CAACF,MAAM,CAAC;;EAEjD;AACF;AACA;AACA;AACA;EACE,MAAMG,2BAA2B,GAAIC,GAAoB,IAAiB;IACxE,MAAMC,MAAkB,GAAG;MACzB,CAACC,yBAAa,GAAGF,GAAG,CAACG;IACvB,CAAC;IAED,KAAK,MAAMC,UAAU,IAAIJ,GAAG,CAACK,OAAO,EAAE;MACpC,IAAID,UAAU,CAACE,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,EAAE;QACpDN,MAAM,
|
|
1
|
+
{"version":3,"file":"express-tracing-middleware.js","names":["_tokens","require","_api","_server","_incubating","provideExpressTracingMiddleware","resolve","tracer","KnownToken","Tracing","getConventionalRequestAttrs","req","result","ATTR_URL_PATH","originalUrl","headerName","headers","toLowerCase","startsWith","ATTR_HTTP_REQUEST_HEADER","header","res","next","externalContext","propagation","extract","ROOT_CONTEXT","rootSpan","startSpan","method","path","undefined","setAttributes","rootContext","trace","setSpan","locals","tracing","renderSpan","once","PAGE_HANDLER_EVENT_TYPE","renderStart","renderFinish","end","contentLength","getHeader","ATTR_HTTP_RESPONSE_STATUS_CODE","String","statusCode","ATTR_ERROR_TYPE","ATTR_HTTP_RESPONSE_BODY_SIZE"],"sources":["../../../../../src/preset/node/providers/express-tracing-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Attributes, ROOT_CONTEXT, propagation, trace } from '@opentelemetry/api';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport {\n ATTR_ERROR_TYPE,\n ATTR_HTTP_REQUEST_HEADER,\n ATTR_HTTP_RESPONSE_BODY_SIZE,\n ATTR_HTTP_RESPONSE_STATUS_CODE,\n ATTR_URL_PATH,\n} from '@opentelemetry/semantic-conventions/incubating';\n\n/**\n * Провайдер промежуточного слоя трассировки входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressTracingMiddleware(resolve: Resolve): express.Handler {\n const tracer = resolve(KnownToken.Tracing.tracer);\n\n /**\n * Возвращает набор стандартных атрибутов для спана.\n * @param req Входящий http-запрос.\n * @return Атрибуты.\n */\n const getConventionalRequestAttrs = (req: express.Request): Attributes => {\n const result: Attributes = {\n [ATTR_URL_PATH]: req.originalUrl,\n };\n\n for (const headerName in req.headers) {\n if (headerName.toLowerCase().startsWith('simaland-')) {\n result[`${ATTR_HTTP_REQUEST_HEADER(headerName)}`] = req.header(headerName);\n }\n }\n\n return result;\n };\n\n return (req, res, next) => {\n const externalContext = propagation.extract(ROOT_CONTEXT, req.headers);\n const rootSpan = tracer.startSpan(`${req.method} ${req.path}`, undefined, externalContext);\n\n rootSpan.setAttributes(getConventionalRequestAttrs(req));\n\n const rootContext = trace.setSpan(externalContext, rootSpan);\n\n res.locals.tracing = {\n rootSpan,\n rootContext,\n renderSpan: null,\n };\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n res.locals.tracing.renderSpan = tracer.startSpan(\n 'react:renderToString',\n undefined,\n rootContext,\n );\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n res.locals.tracing.renderSpan.end();\n });\n });\n\n res.once('finish', () => {\n const contentLength = res.getHeader('content-length') as string;\n rootSpan.setAttributes({\n [ATTR_HTTP_RESPONSE_STATUS_CODE]: String(res.statusCode),\n ...(res.statusCode > 400 && { [ATTR_ERROR_TYPE]: String(res.statusCode) }),\n ...(contentLength && { [ATTR_HTTP_RESPONSE_BODY_SIZE]: contentLength }),\n });\n rootSpan.end();\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAQA;AACA;AACA;AACA;AACA;AACO,SAASI,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,OAAO,CAACF,MAAM,CAAC;;EAEjD;AACF;AACA;AACA;AACA;EACE,MAAMG,2BAA2B,GAAIC,GAAoB,IAAiB;IACxE,MAAMC,MAAkB,GAAG;MACzB,CAACC,yBAAa,GAAGF,GAAG,CAACG;IACvB,CAAC;IAED,KAAK,MAAMC,UAAU,IAAIJ,GAAG,CAACK,OAAO,EAAE;MACpC,IAAID,UAAU,CAACE,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,EAAE;QACpDN,MAAM,CAAC,GAAG,IAAAO,oCAAwB,EAACJ,UAAU,CAAC,EAAE,CAAC,GAAGJ,GAAG,CAACS,MAAM,CAACL,UAAU,CAAC;MAC5E;IACF;IAEA,OAAOH,MAAM;EACf,CAAC;EAED,OAAO,CAACD,GAAG,EAAEU,GAAG,EAAEC,IAAI,KAAK;IACzB,MAAMC,eAAe,GAAGC,gBAAW,CAACC,OAAO,CAACC,iBAAY,EAAEf,GAAG,CAACK,OAAO,CAAC;IACtE,MAAMW,QAAQ,GAAGpB,MAAM,CAACqB,SAAS,CAAC,GAAGjB,GAAG,CAACkB,MAAM,IAAIlB,GAAG,CAACmB,IAAI,EAAE,EAAEC,SAAS,EAAER,eAAe,CAAC;IAE1FI,QAAQ,CAACK,aAAa,CAACtB,2BAA2B,CAACC,GAAG,CAAC,CAAC;IAExD,MAAMsB,WAAW,GAAGC,UAAK,CAACC,OAAO,CAACZ,eAAe,EAAEI,QAAQ,CAAC;IAE5DN,GAAG,CAACe,MAAM,CAACC,OAAO,GAAG;MACnBV,QAAQ;MACRM,WAAW;MACXK,UAAU,EAAE;IACd,CAAC;IAEDjB,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACC,WAAW,EAAE,MAAM;MAClDpB,GAAG,CAACe,MAAM,CAACC,OAAO,CAACC,UAAU,GAAG/B,MAAM,CAACqB,SAAS,CAC9C,sBAAsB,EACtBG,SAAS,EACTE,WACF,CAAC;MAEDZ,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACE,YAAY,EAAE,MAAM;QACnDrB,GAAG,CAACe,MAAM,CAACC,OAAO,CAACC,UAAU,CAACK,GAAG,CAAC,CAAC;MACrC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFtB,GAAG,CAACkB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMK,aAAa,GAAGvB,GAAG,CAACwB,SAAS,CAAC,gBAAgB,CAAW;MAC/DlB,QAAQ,CAACK,aAAa,CAAC;QACrB,CAACc,0CAA8B,GAAGC,MAAM,CAAC1B,GAAG,CAAC2B,UAAU,CAAC;QACxD,IAAI3B,GAAG,CAAC2B,UAAU,GAAG,GAAG,IAAI;UAAE,CAACC,2BAAe,GAAGF,MAAM,CAAC1B,GAAG,CAAC2B,UAAU;QAAE,CAAC,CAAC;QAC1E,IAAIJ,aAAa,IAAI;UAAE,CAACM,wCAA4B,GAAGN;QAAc,CAAC;MACxE,CAAC,CAAC;MACFjB,QAAQ,CAACgB,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IAEFrB,IAAI,CAAC,CAAC;EACR,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-handler-pino.js","names":["_pino","_interopRequireDefault","require","_pinoPretty","_pino2","_tokens","e","__esModule","default","provideLogHandlerPino","resolve","config","KnownToken","Config","base","pinoLogger","pino","env","formatters","level","label","PinoPretty","colorize","translateTime","createPinoHandler"],"sources":["../../../../../src/preset/node/providers/log-handler-pino.ts"],"sourcesContent":["import pino from 'pino';\nimport PinoPretty from 'pino-pretty';\nimport { Resolve } from '../../../di';\nimport { LogHandler } from '../../../log';\nimport { createPinoHandler } from '../../../log/handler/pino';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер обработчика логирования для Pino.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideLogHandlerPino(resolve: Resolve): LogHandler {\n const config = resolve(KnownToken.Config.base);\n\n const pinoLogger = pino(\n config.env === 'production'\n ? {\n formatters: {\n // ВАЖНО: для Fluent необходимо наличие поля level: string\n level: label => ({ level: label }),\n },\n }\n : PinoPretty({\n colorize: true,\n translateTime: 'yyyy-mm-dd HH:MM:ss.l o',\n }),\n );\n\n return createPinoHandler(pinoLogger);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA6C,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAACC,OAAgB,EAAc;EAClE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAE9C,MAAMC,UAAU,GAAG,IAAAC,aAAI,EACrBL,MAAM,CAACM,GAAG,KAAK,YAAY,GACvB;IACEC,UAAU,EAAE;MACV;MACAC,KAAK,EAAEC,KAAK,KAAK;QAAED,KAAK,EAAEC;MAAM,CAAC;IACnC;EACF,CAAC,GACD,IAAAC,mBAAU,EAAC;IACTC,QAAQ,EAAE,IAAI;IACdC,aAAa,EAAE;EACjB,CAAC,CACP,CAAC;EAED,OAAO,IAAAC,wBAAiB,EAACT,UAAU,CAAC;AACtC"}
|
|
1
|
+
{"version":3,"file":"log-handler-pino.js","names":["_pino","_interopRequireDefault","require","_pinoPretty","_pino2","_tokens","e","__esModule","default","provideLogHandlerPino","resolve","config","KnownToken","Config","base","pinoLogger","pino","env","formatters","level","label","PinoPretty","colorize","translateTime","createPinoHandler"],"sources":["../../../../../src/preset/node/providers/log-handler-pino.ts"],"sourcesContent":["import pino from 'pino';\nimport PinoPretty from 'pino-pretty';\nimport { Resolve } from '../../../di';\nimport { LogHandler } from '../../../log';\nimport { createPinoHandler } from '../../../log/handler/pino';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер обработчика логирования для Pino.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideLogHandlerPino(resolve: Resolve): LogHandler {\n const config = resolve(KnownToken.Config.base);\n\n const pinoLogger = pino(\n config.env === 'production'\n ? {\n formatters: {\n // ВАЖНО: для Fluent необходимо наличие поля level: string\n level: label => ({ level: label }),\n },\n }\n : PinoPretty({\n colorize: true,\n translateTime: 'yyyy-mm-dd HH:MM:ss.l o',\n }),\n );\n\n return createPinoHandler(pinoLogger);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA6C,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAACC,OAAgB,EAAc;EAClE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAE9C,MAAMC,UAAU,GAAG,IAAAC,aAAI,EACrBL,MAAM,CAACM,GAAG,KAAK,YAAY,GACvB;IACEC,UAAU,EAAE;MACV;MACAC,KAAK,EAAEC,KAAK,KAAK;QAAED,KAAK,EAAEC;MAAM,CAAC;IACnC;EACF,CAAC,GACD,IAAAC,mBAAU,EAAC;IACTC,QAAQ,EAAE,IAAI;IACdC,aAAa,EAAE;EACjB,CAAC,CACP,CAAC;EAED,OAAO,IAAAC,wBAAiB,EAACT,UAAU,CAAC;AACtC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-handler-sentry.js","names":["_node","require","_sentry","_tokens","provideLogHandlerSentry","resolve","source","KnownToken","Config","init","dsn","release","environment","tracesSampleRate","Number","get","profilesSampleRate","integrations","getDefaultIntegrations","createSentryHandler","getCurrentScope"],"sources":["../../../../../src/preset/node/providers/log-handler-sentry.ts"],"sourcesContent":["import { init, getDefaultIntegrations, getCurrentScope } from '@sentry/node';\nimport { Resolve } from '../../../di';\nimport { LogHandler } from '../../../log';\nimport { createSentryHandler } from '../../../log/handler/sentry';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер обработчика логирования для Sentry.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideLogHandlerSentry(resolve: Resolve): LogHandler {\n const source = resolve(KnownToken.Config.source);\n\n // экспериментально пробуем не использовать вручную созданный клиент\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n profilesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n integrations: [...getDefaultIntegrations({})],\n\n // ВАЖНО: данная опция ломает группировку ошибок, активировать при необэодимости связать компоненты OTEL с Sentry\n // skipOpenTelemetrySetup: true,\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий scope в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentScope);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,uBAAuBA,CAACC,OAAgB,EAAc;EACpE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;;EAEhD;EACA,IAAAG,UAAI,EAAC;IACHC,GAAG,EAAEJ,MAAM,CAACL,OAAO,CAAC,YAAY,CAAC;IACjCU,OAAO,EAAEL,MAAM,CAACL,OAAO,CAAC,gBAAgB,CAAC;IACzCW,WAAW,EAAEN,MAAM,CAACL,OAAO,CAAC,oBAAoB,CAAC;IACjDY,gBAAgB,EAAEC,MAAM,CAACR,MAAM,CAACS,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACpEC,kBAAkB,EAAEF,MAAM,CAACR,MAAM,CAACS,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACtEE,YAAY,EAAE,CAAC,GAAG,IAAAC,4BAAsB,EAAC,CAAC,CAAC,CAAC;;IAE5C;IACA;EACF,CAAC,CAAC;;EAEF;EACA;EACA,OAAO,IAAAC,2BAAmB,EAACC,qBAAe,CAAC;AAC7C"}
|
|
1
|
+
{"version":3,"file":"log-handler-sentry.js","names":["_node","require","_sentry","_tokens","provideLogHandlerSentry","resolve","source","KnownToken","Config","init","dsn","release","environment","tracesSampleRate","Number","get","profilesSampleRate","integrations","getDefaultIntegrations","createSentryHandler","getCurrentScope"],"sources":["../../../../../src/preset/node/providers/log-handler-sentry.ts"],"sourcesContent":["import { init, getDefaultIntegrations, getCurrentScope } from '@sentry/node';\nimport { Resolve } from '../../../di';\nimport { LogHandler } from '../../../log';\nimport { createSentryHandler } from '../../../log/handler/sentry';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер обработчика логирования для Sentry.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideLogHandlerSentry(resolve: Resolve): LogHandler {\n const source = resolve(KnownToken.Config.source);\n\n // экспериментально пробуем не использовать вручную созданный клиент\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n profilesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n integrations: [...getDefaultIntegrations({})],\n\n // ВАЖНО: данная опция ломает группировку ошибок, активировать при необэодимости связать компоненты OTEL с Sentry\n // skipOpenTelemetrySetup: true,\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий scope в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentScope);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,uBAAuBA,CAACC,OAAgB,EAAc;EACpE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;;EAEhD;EACA,IAAAG,UAAI,EAAC;IACHC,GAAG,EAAEJ,MAAM,CAACL,OAAO,CAAC,YAAY,CAAC;IACjCU,OAAO,EAAEL,MAAM,CAACL,OAAO,CAAC,gBAAgB,CAAC;IACzCW,WAAW,EAAEN,MAAM,CAACL,OAAO,CAAC,oBAAoB,CAAC;IACjDY,gBAAgB,EAAEC,MAAM,CAACR,MAAM,CAACS,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACpEC,kBAAkB,EAAEF,MAAM,CAACR,MAAM,CAACS,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACtEE,YAAY,EAAE,CAAC,GAAG,IAAAC,4BAAsB,EAAC,CAAC,CAAC,CAAC;;IAE5C;IACA;EACF,CAAC,CAAC;;EAEF;EACA;EACA,OAAO,IAAAC,2BAAmB,EAACC,qBAAe,CAAC;AAC7C","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","names":["_log","require","_logHandlerPino","_logHandlerSentry","provideLogger","resolve","logger","createLogger","subscribe","provideLogHandlerPino","provideLogHandlerSentry"],"sources":["../../../../../src/preset/node/providers/logger.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from './log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\n/**\n * Провайдер Logger'а.\n * @param resolve Функция для получения зависимости по токену.\n * @return Logger.\n */\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n // @todo возможно надо придумать как не давать вызывать провайдеры внутри провайдеров\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAG,IAAAC,iBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,SAAS,CAAC,IAAAC,qCAAqB,EAACJ,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACE,SAAS,CAAC,IAAAE,yCAAuB,EAACL,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
|
|
1
|
+
{"version":3,"file":"logger.js","names":["_log","require","_logHandlerPino","_logHandlerSentry","provideLogger","resolve","logger","createLogger","subscribe","provideLogHandlerPino","provideLogHandlerSentry"],"sources":["../../../../../src/preset/node/providers/logger.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from './log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\n/**\n * Провайдер Logger'а.\n * @param resolve Функция для получения зависимости по токену.\n * @return Logger.\n */\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n // @todo возможно надо придумать как не давать вызывать провайдеры внутри провайдеров\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAG,IAAAC,iBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,SAAS,CAAC,IAAAC,qCAAqB,EAACJ,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACE,SAAS,CAAC,IAAAE,yCAAuB,EAACL,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf","ignoreList":[]}
|
|
@@ -42,7 +42,6 @@ function provideMainExpressApp(resolve) {
|
|
|
42
42
|
// он тащит за собой http-proxy-middleware@2 который не поддерживает pathFilter
|
|
43
43
|
// pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath)),
|
|
44
44
|
});
|
|
45
|
-
|
|
46
45
|
app.use((req, res, next) => {
|
|
47
46
|
// ВАЖНО: поскольку не используем pathFilter - фильтруем запросы проверкой
|
|
48
47
|
if (proxyPaths.some(proxyPath => req.path.startsWith(proxyPath))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-express-app.js","names":["_tokens","require","_express","_interopRequireDefault","_httpProxyMiddleware","e","__esModule","default","provideMainExpressApp","resolve","config","KnownToken","Config","base","pageRoutes","Express","serviceRoutes","middleware","endMiddleware","proxyConfig","Http","Serve","Proxy","app","express","env","proxyConfigs","Array","isArray","target","filter","pathRewrite","Error","proxyPaths","proxyMiddleware","createProxyMiddleware","changeOrigin","use","req","res","next","some","proxyPath","path","startsWith","routePath","routeHandler","method"],"sources":["../../../../../src/preset/node/providers/main-express-app.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport express from 'express';\nimport { createProxyMiddleware } from 'http-proxy-middleware';\n\n/**\n * Провайдер основного express-приложения.\n * @param resolve Функция для получения зависимости по токену.\n * @return Основное express-приложение.\n */\nexport function provideMainExpressApp(resolve: Resolve): express.Application {\n const config = resolve(KnownToken.Config.base);\n const pageRoutes = resolve(KnownToken.Express.pageRoutes);\n const serviceRoutes = resolve(KnownToken.Express.serviceRoutes);\n const middleware = resolve(KnownToken.Express.middleware);\n const endMiddleware = resolve(KnownToken.Express.endMiddleware);\n const proxyConfig = resolve(KnownToken.Http.Serve.Proxy.config);\n\n const app = express();\n\n if (config.env === 'development' && proxyConfig) {\n const proxyConfigs = Array.isArray(proxyConfig) ? proxyConfig : [proxyConfig];\n\n for (const { target, filter, pathRewrite } of proxyConfigs) {\n // ВАЖНО: так как не можем предоставить web-интерфейс Request бросаем ошибку\n if (typeof filter === 'function') {\n throw new Error('Currently function is not supported for proxy \"filter\"');\n }\n\n const proxyPaths = Array.isArray(filter) ? filter : [filter];\n\n const proxyMiddleware = createProxyMiddleware({\n target,\n changeOrigin: true,\n pathRewrite,\n\n // ВАЖНО: не используем pathFilter тк если в проекте есть webpack-dev-server,\n // он тащит за собой http-proxy-middleware@2 который не поддерживает pathFilter\n // pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath)),\n });\n\n app.use((req, res, next) => {\n // ВАЖНО: поскольку не используем pathFilter - фильтруем запросы проверкой\n if (proxyPaths.some(proxyPath => req.path.startsWith(proxyPath))) {\n proxyMiddleware(req, res, next);\n } else {\n next();\n }\n });\n }\n }\n\n // маршруты страниц\n for (const [routePath, routeHandler] of pageRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, middleware, routeHandler, endMiddleware);\n }\n\n // служебные маршруты (к ним не применяются промежуточные слои)\n for (const [routePath, routeHandler] of serviceRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, routeHandler);\n }\n\n // @todo также добавить apiRoutes?\n return app;\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAA8D,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9D;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAACC,OAAgB,EAAuB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,UAAU,CAAC;EACzD,MAAME,aAAa,GAAGP,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACC,aAAa,CAAC;EAC/D,MAAMC,UAAU,GAAGR,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACE,UAAU,CAAC;EACzD,MAAMC,aAAa,GAAGT,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACG,aAAa,CAAC;EAC/D,MAAMC,WAAW,GAAGV,OAAO,CAACE,kBAAU,CAACS,IAAI,CAACC,KAAK,CAACC,KAAK,CAACZ,MAAM,CAAC;EAE/D,MAAMa,GAAG,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAErB,IAAId,MAAM,CAACe,GAAG,KAAK,aAAa,IAAIN,WAAW,EAAE;IAC/C,MAAMO,YAAY,GAAGC,KAAK,CAACC,OAAO,CAACT,WAAW,CAAC,GAAGA,WAAW,GAAG,CAACA,WAAW,CAAC;IAE7E,KAAK,MAAM;MAAEU,MAAM;MAAEC,MAAM;MAAEC;IAAY,CAAC,IAAIL,YAAY,EAAE;MAC1D;MACA,IAAI,OAAOI,MAAM,KAAK,UAAU,EAAE;QAChC,MAAM,IAAIE,KAAK,CAAC,wDAAwD,CAAC;MAC3E;MAEA,MAAMC,UAAU,GAAGN,KAAK,CAACC,OAAO,CAACE,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;MAE5D,MAAMI,eAAe,GAAG,IAAAC,0CAAqB,EAAC;QAC5CN,MAAM;QACNO,YAAY,EAAE,IAAI;QAClBL;;QAEA;QACA;QACA;MACF,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"main-express-app.js","names":["_tokens","require","_express","_interopRequireDefault","_httpProxyMiddleware","e","__esModule","default","provideMainExpressApp","resolve","config","KnownToken","Config","base","pageRoutes","Express","serviceRoutes","middleware","endMiddleware","proxyConfig","Http","Serve","Proxy","app","express","env","proxyConfigs","Array","isArray","target","filter","pathRewrite","Error","proxyPaths","proxyMiddleware","createProxyMiddleware","changeOrigin","use","req","res","next","some","proxyPath","path","startsWith","routePath","routeHandler","method"],"sources":["../../../../../src/preset/node/providers/main-express-app.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport express from 'express';\nimport { createProxyMiddleware } from 'http-proxy-middleware';\n\n/**\n * Провайдер основного express-приложения.\n * @param resolve Функция для получения зависимости по токену.\n * @return Основное express-приложение.\n */\nexport function provideMainExpressApp(resolve: Resolve): express.Application {\n const config = resolve(KnownToken.Config.base);\n const pageRoutes = resolve(KnownToken.Express.pageRoutes);\n const serviceRoutes = resolve(KnownToken.Express.serviceRoutes);\n const middleware = resolve(KnownToken.Express.middleware);\n const endMiddleware = resolve(KnownToken.Express.endMiddleware);\n const proxyConfig = resolve(KnownToken.Http.Serve.Proxy.config);\n\n const app = express();\n\n if (config.env === 'development' && proxyConfig) {\n const proxyConfigs = Array.isArray(proxyConfig) ? proxyConfig : [proxyConfig];\n\n for (const { target, filter, pathRewrite } of proxyConfigs) {\n // ВАЖНО: так как не можем предоставить web-интерфейс Request бросаем ошибку\n if (typeof filter === 'function') {\n throw new Error('Currently function is not supported for proxy \"filter\"');\n }\n\n const proxyPaths = Array.isArray(filter) ? filter : [filter];\n\n const proxyMiddleware = createProxyMiddleware({\n target,\n changeOrigin: true,\n pathRewrite,\n\n // ВАЖНО: не используем pathFilter тк если в проекте есть webpack-dev-server,\n // он тащит за собой http-proxy-middleware@2 который не поддерживает pathFilter\n // pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath)),\n });\n\n app.use((req, res, next) => {\n // ВАЖНО: поскольку не используем pathFilter - фильтруем запросы проверкой\n if (proxyPaths.some(proxyPath => req.path.startsWith(proxyPath))) {\n proxyMiddleware(req, res, next);\n } else {\n next();\n }\n });\n }\n }\n\n // маршруты страниц\n for (const [routePath, routeHandler] of pageRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, middleware, routeHandler, endMiddleware);\n }\n\n // служебные маршруты (к ним не применяются промежуточные слои)\n for (const [routePath, routeHandler] of serviceRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, routeHandler);\n }\n\n // @todo также добавить apiRoutes?\n return app;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-express-app.js","names":["PromClient","_interopRequireWildcard","require","_express","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","provideMetricsExpressApp","collectDefaultMetrics","app","express","req","res","metrics","register","setHeader","contentType","send"],"sources":["../../../../../src/preset/node/providers/metrics-express-app.ts"],"sourcesContent":["import * as PromClient from 'prom-client';\nimport express from 'express';\n\n/**\n * Провайдер express-приложения метрик.\n * @return Пул известных http-хостов.\n */\nexport function provideMetricsExpressApp(): express.Application {\n PromClient.collectDefaultMetrics();\n\n const app = express();\n\n app.get('/', async function (req, res) {\n const metrics = await PromClient.register.metrics();\n\n res.setHeader('Content-Type', PromClient.register.contentType);\n res.send(metrics);\n });\n\n return app;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA8B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAI,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAE9B;AACA;AACA;AACA;AACO,SAASgB,wBAAwBA,CAAA,EAAwB;EAC9DxB,UAAU,CAACyB,qBAAqB,CAAC,CAAC;EAElC,MAAMC,GAAG,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAErBD,GAAG,CAACT,GAAG,CAAC,GAAG,EAAE,gBAAgBW,GAAG,EAAEC,GAAG,EAAE;IACrC,MAAMC,OAAO,GAAG,MAAM9B,UAAU,CAAC+B,QAAQ,CAACD,OAAO,CAAC,CAAC;IAEnDD,GAAG,CAACG,SAAS,CAAC,cAAc,EAAEhC,UAAU,CAAC+B,QAAQ,CAACE,WAAW,CAAC;IAC9DJ,GAAG,CAACK,IAAI,CAACJ,OAAO,CAAC;EACnB,CAAC,CAAC;EAEF,OAAOJ,GAAG;AACZ"}
|
|
1
|
+
{"version":3,"file":"metrics-express-app.js","names":["PromClient","_interopRequireWildcard","require","_express","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","provideMetricsExpressApp","collectDefaultMetrics","app","express","req","res","metrics","register","setHeader","contentType","send"],"sources":["../../../../../src/preset/node/providers/metrics-express-app.ts"],"sourcesContent":["import * as PromClient from 'prom-client';\nimport express from 'express';\n\n/**\n * Провайдер express-приложения метрик.\n * @return Пул известных http-хостов.\n */\nexport function provideMetricsExpressApp(): express.Application {\n PromClient.collectDefaultMetrics();\n\n const app = express();\n\n app.get('/', async function (req, res) {\n const metrics = await PromClient.register.metrics();\n\n res.setHeader('Content-Type', PromClient.register.contentType);\n res.send(metrics);\n });\n\n return app;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA8B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAI,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAE9B;AACA;AACA;AACA;AACO,SAASgB,wBAAwBA,CAAA,EAAwB;EAC9DxB,UAAU,CAACyB,qBAAqB,CAAC,CAAC;EAElC,MAAMC,GAAG,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAErBD,GAAG,CAACT,GAAG,CAAC,GAAG,EAAE,gBAAgBW,GAAG,EAAEC,GAAG,EAAE;IACrC,MAAMC,OAAO,GAAG,MAAM9B,UAAU,CAAC+B,QAAQ,CAACD,OAAO,CAAC,CAAC;IAEnDD,GAAG,CAACG,SAAS,CAAC,cAAc,EAAEhC,UAAU,CAAC+B,QAAQ,CAACE,WAAW,CAAC;IAC9DJ,GAAG,CAACK,IAAI,CAACJ,OAAO,CAAC;EACnB,CAAC,CAAC;EAEF,OAAOJ,GAAG;AACZ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-envs.js","names":["providePublicEnvs","publicEnvs","IS_REDUX_DEVTOOLS_ENABLED","process","env","key","startsWith"],"sources":["../../../../../src/preset/node/providers/public-envs.ts"],"sourcesContent":["/**\n * Провайдер публичных переменных среды.\n * @return Объект с публичными переменными среды.\n */\nexport function providePublicEnvs() {\n const publicEnvs: Record<string, string | undefined> = {\n IS_REDUX_DEVTOOLS_ENABLED: process.env.IS_REDUX_DEVTOOLS_ENABLED,\n };\n for (const key in process.env) {\n if (key.startsWith('PUBLIC_')) {\n publicEnvs[key] = process.env[key];\n }\n }\n return publicEnvs;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACO,SAASA,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,UAA8C,GAAG;IACrDC,yBAAyB,EAAEC,OAAO,CAACC,GAAG,CAACF;EACzC,CAAC;EACD,KAAK,MAAMG,GAAG,IAAIF,OAAO,CAACC,GAAG,EAAE;IAC7B,IAAIC,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;MAC7BL,UAAU,CAACI,GAAG,CAAC,GAAGF,OAAO,CAACC,GAAG,CAACC,GAAG,CAAC;IACpC;EACF;EACA,OAAOJ,UAAU;AACnB"}
|
|
1
|
+
{"version":3,"file":"public-envs.js","names":["providePublicEnvs","publicEnvs","IS_REDUX_DEVTOOLS_ENABLED","process","env","key","startsWith"],"sources":["../../../../../src/preset/node/providers/public-envs.ts"],"sourcesContent":["/**\n * Провайдер публичных переменных среды.\n * @return Объект с публичными переменными среды.\n */\nexport function providePublicEnvs() {\n const publicEnvs: Record<string, string | undefined> = {\n IS_REDUX_DEVTOOLS_ENABLED: process.env.IS_REDUX_DEVTOOLS_ENABLED,\n };\n for (const key in process.env) {\n if (key.startsWith('PUBLIC_')) {\n publicEnvs[key] = process.env[key];\n }\n }\n return publicEnvs;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACO,SAASA,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,UAA8C,GAAG;IACrDC,yBAAyB,EAAEC,OAAO,CAACC,GAAG,CAACF;EACzC,CAAC;EACD,KAAK,MAAMG,GAAG,IAAIF,OAAO,CAACC,GAAG,EAAE;IAC7B,IAAIC,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;MAC7BL,UAAU,CAACI,GAAG,CAAC,GAAGF,OAAO,CAACC,GAAG,CAACC,GAAG,CAAC;IACpC;EACF;EACA,OAAOJ,UAAU;AACnB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-tracer-provider.js","names":["_sdkTraceNode","require","_tokens","provideTracingProvider","resolve","exporter","KnownToken","Tracing","spanExporter","resource","provider","NodeTracerProvider","spanProcessors","BatchSpanProcessor","register"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-provider.ts"],"sourcesContent":["import type { Resolve } from
|
|
1
|
+
{"version":3,"file":"telemetry-tracer-provider.js","names":["_sdkTraceNode","require","_tokens","provideTracingProvider","resolve","exporter","KnownToken","Tracing","spanExporter","resource","provider","NodeTracerProvider","spanProcessors","BatchSpanProcessor","register"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-provider.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';\nimport { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта BasicTracerProvider.\n * @param resolve Функция для получения зависимости по токену.\n * @return BasicTracerProvider.\n */\nexport function provideTracingProvider(resolve: Resolve): BasicTracerProvider {\n const exporter = resolve(KnownToken.Tracing.spanExporter);\n const resource = resolve(KnownToken.Tracing.resource);\n const provider = new NodeTracerProvider({\n resource,\n spanProcessors: [new BatchSpanProcessor(exporter)],\n });\n\n provider.register();\n\n return provider;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASE,sBAAsBA,CAACC,OAAgB,EAAuB;EAC5E,MAAMC,QAAQ,GAAGD,OAAO,CAACE,kBAAU,CAACC,OAAO,CAACC,YAAY,CAAC;EACzD,MAAMC,QAAQ,GAAGL,OAAO,CAACE,kBAAU,CAACC,OAAO,CAACE,QAAQ,CAAC;EACrD,MAAMC,QAAQ,GAAG,IAAIC,gCAAkB,CAAC;IACtCF,QAAQ;IACRG,cAAc,EAAE,CAAC,IAAIC,gCAAkB,CAACR,QAAQ,CAAC;EACnD,CAAC,CAAC;EAEFK,QAAQ,CAACI,QAAQ,CAAC,CAAC;EAEnB,OAAOJ,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-tracer-resource.js","names":["_resources","require","SemanticArgs","_interopRequireWildcard","_tokens","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","provideTracingResource","resolve","config","KnownToken","Config","base","resource","defaultResource","merge","resourceFromAttributes","ATTR_SERVICE_NAME","appName","ATTR_SERVICE_VERSION","appVersion","ATTR_DEPLOYMENT_ENVIRONMENT_NAME","env","detectResources","detectors","osDetector","envDetector","hostDetector","processDetector"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-resource.ts"],"sourcesContent":["import {\n resourceFromAttributes,\n detectResources,\n defaultResource,\n envDetector,\n hostDetector,\n osDetector,\n processDetector,\n Resource,\n} from '@opentelemetry/resources';\nimport * as SemanticArgs from '@opentelemetry/semantic-conventions/incubating';\nimport { KnownToken } from '../../../tokens';\n\nimport type { Resolve } from '../../../di';\n\n/**\n * Провайдер объекта Resource.\n * @param resolve Функция для получения зависимости по токену.\n * @return Resource.\n */\nexport function provideTracingResource(resolve: Resolve): Resource {\n const config = resolve(KnownToken.Config.base);\n\n const resource = defaultResource()\n .merge(\n resourceFromAttributes({\n [SemanticArgs.ATTR_SERVICE_NAME]: config.appName,\n [SemanticArgs.ATTR_SERVICE_VERSION]: config.appVersion,\n [SemanticArgs.ATTR_DEPLOYMENT_ENVIRONMENT_NAME]: config.env,\n }),\n )\n .merge(\n detectResources({\n detectors: [osDetector, envDetector, hostDetector, processDetector],\n }),\n );\n\n return resource;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAUA,IAAAC,YAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA6C,SAAAE,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAI7C;AACA;AACA;AACA;AACA;AACO,SAASkB,sBAAsBA,CAACC,OAAgB,EAAY;EACjE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAE9C,MAAMC,QAAQ,GAAG,IAAAC,0BAAe,EAAC,CAAC,CAC/BC,KAAK,CACJ,IAAAC,iCAAsB,EAAC;IACrB,CAAC/B,YAAY,CAACgC,iBAAiB,GAAGR,MAAM,CAACS,OAAO;IAChD,CAACjC,YAAY,CAACkC,oBAAoB,GAAGV,MAAM,CAACW,UAAU;IACtD,CAACnC,YAAY,CAACoC,gCAAgC,GAAGZ,MAAM,CAACa;EAC1D,CAAC,CACH,CAAC,CACAP,KAAK,CACJ,IAAAQ,0BAAe,EAAC;IACdC,SAAS,EAAE,CAACC,qBAAU,EAAEC,sBAAW,EAAEC,uBAAY,EAAEC,0BAAe;EACpE,CAAC,CACH,CAAC;EAEH,OAAOf,QAAQ;AACjB"}
|
|
1
|
+
{"version":3,"file":"telemetry-tracer-resource.js","names":["_resources","require","SemanticArgs","_interopRequireWildcard","_tokens","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","provideTracingResource","resolve","config","KnownToken","Config","base","resource","defaultResource","merge","resourceFromAttributes","ATTR_SERVICE_NAME","appName","ATTR_SERVICE_VERSION","appVersion","ATTR_DEPLOYMENT_ENVIRONMENT_NAME","env","detectResources","detectors","osDetector","envDetector","hostDetector","processDetector"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-resource.ts"],"sourcesContent":["import {\n resourceFromAttributes,\n detectResources,\n defaultResource,\n envDetector,\n hostDetector,\n osDetector,\n processDetector,\n Resource,\n} from '@opentelemetry/resources';\nimport * as SemanticArgs from '@opentelemetry/semantic-conventions/incubating';\nimport { KnownToken } from '../../../tokens';\n\nimport type { Resolve } from '../../../di';\n\n/**\n * Провайдер объекта Resource.\n * @param resolve Функция для получения зависимости по токену.\n * @return Resource.\n */\nexport function provideTracingResource(resolve: Resolve): Resource {\n const config = resolve(KnownToken.Config.base);\n\n const resource = defaultResource()\n .merge(\n resourceFromAttributes({\n [SemanticArgs.ATTR_SERVICE_NAME]: config.appName,\n [SemanticArgs.ATTR_SERVICE_VERSION]: config.appVersion,\n [SemanticArgs.ATTR_DEPLOYMENT_ENVIRONMENT_NAME]: config.env,\n }),\n )\n .merge(\n detectResources({\n detectors: [osDetector, envDetector, hostDetector, processDetector],\n }),\n );\n\n return resource;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAUA,IAAAC,YAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA6C,SAAAE,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAI7C;AACA;AACA;AACA;AACA;AACO,SAASkB,sBAAsBA,CAACC,OAAgB,EAAY;EACjE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAE9C,MAAMC,QAAQ,GAAG,IAAAC,0BAAe,EAAC,CAAC,CAC/BC,KAAK,CACJ,IAAAC,iCAAsB,EAAC;IACrB,CAAC/B,YAAY,CAACgC,iBAAiB,GAAGR,MAAM,CAACS,OAAO;IAChD,CAACjC,YAAY,CAACkC,oBAAoB,GAAGV,MAAM,CAACW,UAAU;IACtD,CAACnC,YAAY,CAACoC,gCAAgC,GAAGZ,MAAM,CAACa;EAC1D,CAAC,CACH,CAAC,CACAP,KAAK,CACJ,IAAAQ,0BAAe,EAAC;IACdC,SAAS,EAAE,CAACC,qBAAU,EAAEC,sBAAW,EAAEC,uBAAY,EAAEC,0BAAe;EACpE,CAAC,CACH,CAAC;EAEH,OAAOf,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-tracer-span-exporter.js","names":["_exporterTraceOtlpGrpc","require","_tokens","envPrefix","provideSpanExporter","resolve","source","KnownToken","Config","headers","has","JSON","parse","get","undefined","url","URL","port","OTLPTraceExporter","toString"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-span-exporter.ts"],"sourcesContent":["import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';\nimport { KnownToken } from '../../../tokens';\n\nimport type { Resolve } from '../../../di';\n\nconst envPrefix = 'OTEL_EXPORTER_OTLP_';\n\n/**\n * Провайдер объекта SpanExporter.\n * @param resolve Функция для получения зависимости по токену.\n * @return SpanExporter.\n */\nexport function provideSpanExporter(resolve: Resolve): OTLPTraceExporter {\n const source = resolve(KnownToken.Config.source);\n const headers = source.has(`${envPrefix}REQUEST_HEADERS`)\n ? JSON.parse(source.get(`${envPrefix}REQUEST_HEADERS`, '{}'))\n : undefined;\n\n const url = new URL(\n source.get(`${envPrefix}ENDPOINT`) ||\n `${source.get(`${envPrefix}PROTOCOL`, 'https')}://${source.get(`${envPrefix}HOSTNAME`, 'localhost')}`,\n );\n url.port = source.get(`${envPrefix}PORT`, '4317');\n\n return new OTLPTraceExporter({\n url: url.toString(),\n ...(headers && { headers }),\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAIA,MAAME,SAAS,GAAG,qBAAqB;;AAEvC;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAACC,OAAgB,EAAqB;EACvE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAChD,MAAMG,OAAO,GAAGH,MAAM,CAACI,GAAG,
|
|
1
|
+
{"version":3,"file":"telemetry-tracer-span-exporter.js","names":["_exporterTraceOtlpGrpc","require","_tokens","envPrefix","provideSpanExporter","resolve","source","KnownToken","Config","headers","has","JSON","parse","get","undefined","url","URL","port","OTLPTraceExporter","toString"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-span-exporter.ts"],"sourcesContent":["import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';\nimport { KnownToken } from '../../../tokens';\n\nimport type { Resolve } from '../../../di';\n\nconst envPrefix = 'OTEL_EXPORTER_OTLP_';\n\n/**\n * Провайдер объекта SpanExporter.\n * @param resolve Функция для получения зависимости по токену.\n * @return SpanExporter.\n */\nexport function provideSpanExporter(resolve: Resolve): OTLPTraceExporter {\n const source = resolve(KnownToken.Config.source);\n const headers = source.has(`${envPrefix}REQUEST_HEADERS`)\n ? JSON.parse(source.get(`${envPrefix}REQUEST_HEADERS`, '{}'))\n : undefined;\n\n const url = new URL(\n source.get(`${envPrefix}ENDPOINT`) ||\n `${source.get(`${envPrefix}PROTOCOL`, 'https')}://${source.get(`${envPrefix}HOSTNAME`, 'localhost')}`,\n );\n url.port = source.get(`${envPrefix}PORT`, '4317');\n\n return new OTLPTraceExporter({\n url: url.toString(),\n ...(headers && { headers }),\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAIA,MAAME,SAAS,GAAG,qBAAqB;;AAEvC;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAACC,OAAgB,EAAqB;EACvE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAChD,MAAMG,OAAO,GAAGH,MAAM,CAACI,GAAG,CAAC,GAAGP,SAAS,iBAAiB,CAAC,GACrDQ,IAAI,CAACC,KAAK,CAACN,MAAM,CAACO,GAAG,CAAC,GAAGV,SAAS,iBAAiB,EAAE,IAAI,CAAC,CAAC,GAC3DW,SAAS;EAEb,MAAMC,GAAG,GAAG,IAAIC,GAAG,CACjBV,MAAM,CAACO,GAAG,CAAC,GAAGV,SAAS,UAAU,CAAC,IAChC,GAAGG,MAAM,CAACO,GAAG,CAAC,GAAGV,SAAS,UAAU,EAAE,OAAO,CAAC,MAAMG,MAAM,CAACO,GAAG,CAAC,GAAGV,SAAS,UAAU,EAAE,WAAW,CAAC,EACvG,CAAC;EACDY,GAAG,CAACE,IAAI,GAAGX,MAAM,CAACO,GAAG,CAAC,GAAGV,SAAS,MAAM,EAAE,MAAM,CAAC;EAEjD,OAAO,IAAIe,wCAAiB,CAAC;IAC3BH,GAAG,EAAEA,GAAG,CAACI,QAAQ,CAAC,CAAC;IACnB,IAAIV,OAAO,IAAI;MAAEA;IAAQ,CAAC;EAC5B,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-tracer.js","names":["_tokens","require","provideTracer","resolve","config","KnownToken","Config","base","provider","Tracing","getTracer","appName","appVersion"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer.ts"],"sourcesContent":["import { Tracer } from '@opentelemetry/api';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта Tracer.\n * @param resolve Функция для получения зависимости по токену.\n * @return Tracer.\n */\nexport function provideTracer(resolve: Resolve): Tracer {\n const config = resolve(KnownToken.Config.base);\n const provider = resolve(KnownToken.Tracing.provider);\n\n return provider.getTracer(config.appName, config.appVersion);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,QAAQ,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,QAAQ,CAAC;EAErD,OAAOA,QAAQ,CAACE,SAAS,CAACN,MAAM,CAACO,OAAO,EAAEP,MAAM,CAACQ,UAAU,CAAC;AAC9D"}
|
|
1
|
+
{"version":3,"file":"telemetry-tracer.js","names":["_tokens","require","provideTracer","resolve","config","KnownToken","Config","base","provider","Tracing","getTracer","appName","appVersion"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer.ts"],"sourcesContent":["import { Tracer } from '@opentelemetry/api';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта Tracer.\n * @param resolve Функция для получения зависимости по токену.\n * @return Tracer.\n */\nexport function provideTracer(resolve: Resolve): Tracer {\n const config = resolve(KnownToken.Config.base);\n const provider = resolve(KnownToken.Tracing.provider);\n\n return provider.getTracer(config.appName, config.appVersion);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,QAAQ,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,QAAQ,CAAC;EAErD,OAAOA,QAAQ,CAACE,SAAS,CAACN,MAAM,CAACO,OAAO,EAAEP,MAAM,CAACQ,UAAU,CAAC;AAC9D","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/node/types.ts"],"sourcesContent":["import type express from 'express';\nimport type { RouteInfo } from '../server/types';\n\n/**\n * Контекст обработчика express.\n */\nexport interface ExpressHandlerContext {\n readonly req: express.Request;\n readonly res: express.Response;\n readonly next: express.NextFunction;\n}\n\nexport type ExpressRouteList = Array<[string | RouteInfo, express.Handler]>;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/node/types.ts"],"sourcesContent":["import type express from 'express';\nimport type { RouteInfo } from '../server/types';\n\n/**\n * Контекст обработчика express.\n */\nexport interface ExpressHandlerContext {\n readonly req: express.Request;\n readonly res: express.Response;\n readonly next: express.NextFunction;\n}\n\nexport type ExpressRouteList = Array<[string | RouteInfo, express.Handler]>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios-tracing-middleware.js","names":["_api","require","_incubating","_displayUrl","_telemetry","axiosTracingMiddleware","tracer","rootContext","trace","config","next","defaults","method","urlStr","getRequestInfo","url","URL","span","startSpan","undefined","setAttributes","ATTR_URL_FULL","href","ATTR_HTTP_REQUEST_METHOD","getSemanticHeaders","headers","common","toLowerCase","error","setStatus","code","SpanStatusCode","ERROR","message","end","toUpperCase","baseURL","displayUrl"],"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,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,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,
|
|
1
|
+
{"version":3,"file":"axios-tracing-middleware.js","names":["_api","require","_incubating","_displayUrl","_telemetry","axiosTracingMiddleware","tracer","rootContext","trace","config","next","defaults","method","urlStr","getRequestInfo","url","URL","span","startSpan","undefined","setAttributes","ATTR_URL_FULL","href","ATTR_HTTP_REQUEST_METHOD","getSemanticHeaders","headers","common","toLowerCase","error","setStatus","code","SpanStatusCode","ERROR","message","end","toUpperCase","baseURL","displayUrl"],"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,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,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,CAACC,yBAAa,GAAGN,GAAG,CAACO,IAAI;MACzB,CAACC,oCAAwB,GAAGX,MAAM;MAClC,GAAG,IAAAY,6BAAkB,EAAC;QACpB;QACA,GAAGb,QAAQ,CAACc,OAAO,CAACC,MAAM;QAC1B,GAAGf,QAAQ,CAACc,OAAO,CAACb,MAAM,CAACe,WAAW,CAAC,CAAC,CAA0B;QAClE,GAAGlB,MAAM,CAACgB;MACZ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI;MACF,MAAMf,IAAI,CAACD,MAAM,CAAC;IACpB,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdX,IAAI,CAACY,SAAS,CAAC;QACbC,IAAI,EAAEC,mBAAc,CAACC,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFhB,IAAI,CAACiB,GAAG,CAAC,CAAC;;MAEV;MACA,MAAMN,KAAK;IACb;IAEAX,IAAI,CAACiB,GAAG,CAAC,CAAC;EACZ,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASpB,cAAcA,CAC5BL,MAA0B,EAC1BE,QAAmC,EAInC;EACA,MAAMC,MAAM,GAAG,CAACH,MAAM,CAACG,MAAM,IAAI,KAAK,EAAEuB,WAAW,CAAC,CAAC;EACrD,MAAMC,OAAO,GAAG3B,MAAM,CAAC2B,OAAO,IAAIzB,QAAQ,CAACyB,OAAO,IAAI,EAAE;EAExD,OAAO;IACLxB,MAAM;IACNC,MAAM,EAAE,IAAAwB,sBAAU,EAACD,OAAO,EAAE3B,MAAM,CAACM,GAAG,IAAIJ,QAAQ,CAACI,GAAG,IAAI,EAAE;EAC9D,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +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","exports"],"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;AACO,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;AAACE,OAAA,CAAAjB,eAAA,GAAAA,eAAA"}
|
|
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","exports"],"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;AACO,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;AAACE,OAAA,CAAAjB,eAAA,GAAAA,eAAA","ignoreList":[]}
|