@sima-land/isomorph 11.0.0-alpha.44 → 11.0.0-alpha.45
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/di/application.js +3 -3
- package/dist/cjs/di/application.js.map +1 -1
- package/dist/cjs/http/errors.js +11 -3
- package/dist/cjs/http/errors.js.map +1 -1
- package/dist/cjs/http/index.js +7 -0
- package/dist/cjs/http/index.js.map +1 -1
- package/dist/cjs/http/types.js.map +1 -1
- package/dist/cjs/http/utils.js +80 -0
- package/dist/cjs/http/utils.js.map +1 -0
- package/dist/cjs/package.json +8 -6
- package/dist/cjs/preset/bun/index.js +79 -0
- package/dist/cjs/preset/bun/index.js.map +1 -0
- package/dist/cjs/preset/bun/providers/config-source.js +13 -0
- package/dist/cjs/preset/bun/providers/config-source.js.map +1 -0
- package/dist/cjs/preset/bun/providers/fetch-middleware.js +13 -0
- package/dist/cjs/preset/bun/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/bun/providers/log-handler-sentry.js +24 -0
- package/dist/cjs/preset/bun/providers/log-handler-sentry.js.map +1 -0
- package/dist/cjs/preset/bun/providers/logger.js +18 -0
- package/dist/cjs/preset/bun/providers/logger.js.map +1 -0
- package/dist/cjs/preset/bun/providers/serve-metrics.js +25 -0
- package/dist/cjs/preset/bun/providers/serve-metrics.js.map +1 -0
- package/dist/cjs/preset/bun/providers/serve-middleware.js +29 -0
- package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -0
- package/dist/cjs/preset/bun/providers/serve.js +33 -0
- package/dist/cjs/preset/bun/providers/serve.js.map +1 -0
- package/dist/cjs/preset/bun/providers/service-routes.js +16 -0
- package/dist/cjs/preset/bun/providers/service-routes.js.map +1 -0
- package/dist/cjs/preset/bun/utils/get-stats-handler.js +30 -0
- package/dist/cjs/preset/bun/utils/get-stats-handler.js.map +1 -0
- package/dist/cjs/preset/bun-handler/index.js +66 -0
- package/dist/cjs/preset/bun-handler/index.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/accept-type.js +24 -0
- package/dist/cjs/preset/bun-handler/providers/accept-type.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/cookie-store.js +15 -0
- package/dist/cjs/preset/bun-handler/providers/cookie-store.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +31 -0
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/handler-main.js +93 -0
- package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/specific-params.js +19 -0
- package/dist/cjs/preset/bun-handler/providers/specific-params.js.map +1 -0
- package/dist/cjs/preset/isomorphic/index.js +63 -0
- package/dist/cjs/preset/isomorphic/index.js.map +1 -1
- package/dist/cjs/preset/isomorphic/providers/abort-controller.js +14 -0
- package/dist/cjs/preset/isomorphic/providers/abort-controller.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/axios-factory.js +24 -0
- package/dist/cjs/preset/isomorphic/providers/axios-factory.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/base-config.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/base-config.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/fetch.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/fetch.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js +26 -0
- package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
- package/dist/cjs/preset/isomorphic/types.js.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/axios-logging.js +147 -0
- package/dist/cjs/preset/isomorphic/utils/axios-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/disableable.js +32 -0
- package/dist/cjs/preset/isomorphic/utils/disableable.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/display-url.js +32 -0
- package/dist/cjs/preset/isomorphic/utils/display-url.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/fetch-logging.js +84 -0
- package/dist/cjs/preset/isomorphic/utils/fetch-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js +21 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js +31 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js +25 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/hide-first-id.js +20 -0
- package/dist/cjs/preset/isomorphic/utils/hide-first-id.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js +46 -0
- package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/http-status.js +70 -0
- package/dist/cjs/preset/isomorphic/utils/http-status.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/saga-logging.js +54 -0
- package/dist/cjs/preset/isomorphic/utils/saga-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/severity-from-status.js +30 -0
- package/dist/cjs/preset/isomorphic/utils/severity-from-status.js.map +1 -0
- package/dist/cjs/preset/node/index.js +93 -7
- package/dist/cjs/preset/node/index.js.map +1 -1
- package/dist/cjs/preset/node/providers/config-source.js +29 -0
- package/dist/cjs/preset/node/providers/config-source.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-error-middleware.js +15 -0
- package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-factory.js +16 -0
- package/dist/cjs/preset/node/providers/express-factory.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-log-middleware.js +45 -0
- package/dist/cjs/preset/node/providers/express-log-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js +60 -0
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-request-middleware.js +15 -0
- package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js +56 -0
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/log-handler-pino.js +32 -0
- package/dist/cjs/preset/node/providers/log-handler-pino.js.map +1 -0
- package/dist/cjs/preset/node/providers/log-handler-sentry.js +31 -0
- package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -0
- package/dist/cjs/preset/node/providers/logger.js +23 -0
- package/dist/cjs/preset/node/providers/logger.js.map +1 -0
- package/dist/cjs/preset/node/providers/metrics-http-app.js +26 -0
- package/dist/cjs/preset/node/providers/metrics-http-app.js.map +1 -0
- package/dist/cjs/preset/node/providers/span-exporter.js +21 -0
- package/dist/cjs/preset/node/providers/span-exporter.js.map +1 -0
- package/dist/cjs/preset/node/providers/tracer-provider-resource.js +26 -0
- package/dist/cjs/preset/node/providers/tracer-provider-resource.js.map +1 -0
- package/dist/cjs/preset/node/providers/tracer-provider.js +27 -0
- package/dist/cjs/preset/node/providers/tracer-provider.js.map +1 -0
- package/dist/cjs/preset/node/providers/tracer.js +18 -0
- package/dist/cjs/preset/node/providers/tracer.js.map +1 -0
- package/dist/cjs/preset/node/types.js.map +1 -1
- package/dist/cjs/preset/node/{node/utils/http-client/index.js → utils/axios-tracing-middleware.js} +11 -52
- package/dist/cjs/preset/node/utils/axios-tracing-middleware.js.map +1 -0
- package/dist/cjs/preset/node/utils/emitter-as-target.js +52 -0
- package/dist/cjs/preset/node/utils/emitter-as-target.js.map +1 -0
- package/dist/cjs/preset/node/{node/utils/http-server/index.js → utils/get-client-ip.js} +2 -2
- package/dist/cjs/preset/node/utils/get-client-ip.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-forwarded-headers.js +36 -0
- package/dist/cjs/preset/node/utils/get-forwarded-headers.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js +20 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -0
- package/dist/cjs/preset/node/utils/handler-provider.js +29 -0
- package/dist/cjs/preset/node/utils/handler-provider.js.map +1 -0
- package/dist/cjs/preset/node-handler/index.js +73 -0
- package/dist/cjs/preset/node-handler/index.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/accepts-type.js +17 -0
- package/dist/cjs/preset/node-handler/providers/accepts-type.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/axios-log-handler.js +25 -0
- package/dist/cjs/preset/node-handler/providers/axios-log-handler.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js +55 -0
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/cookie-store.js +18 -0
- package/dist/cjs/preset/node-handler/providers/cookie-store.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +36 -0
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/handler-main.js +79 -0
- package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/response-events.js +18 -0
- package/dist/cjs/preset/node-handler/providers/response-events.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/specific-params.js +28 -0
- package/dist/cjs/preset/node-handler/providers/specific-params.js.map +1 -0
- package/dist/cjs/preset/server/constants.js +21 -0
- package/dist/cjs/preset/server/constants.js.map +1 -0
- package/dist/cjs/preset/server/index.js +89 -0
- package/dist/cjs/preset/server/index.js.map +1 -0
- package/dist/cjs/preset/server/providers/element-to-string.js +24 -0
- package/dist/cjs/preset/server/providers/element-to-string.js.map +1 -0
- package/dist/cjs/preset/server/providers/fetch-log-handler.js +23 -0
- package/dist/cjs/preset/server/providers/fetch-log-handler.js.map +1 -0
- package/dist/cjs/preset/server/providers/format-page-response.js +68 -0
- package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -0
- package/dist/cjs/preset/server/providers/known-http-api-hosts.js +24 -0
- package/dist/cjs/preset/server/providers/known-http-api-hosts.js.map +1 -0
- package/dist/cjs/preset/server/providers/page-helmet.js +21 -0
- package/dist/cjs/preset/server/providers/page-helmet.js.map +1 -0
- package/dist/cjs/preset/server/providers/page-render.js +21 -0
- package/dist/cjs/preset/server/providers/page-render.js.map +1 -0
- package/dist/cjs/preset/server/providers/response-events.js +17 -0
- package/dist/cjs/preset/server/providers/response-events.js.map +1 -0
- package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js +18 -0
- package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
- package/dist/cjs/preset/server/types.js +6 -0
- package/dist/cjs/preset/server/types.js.map +1 -0
- package/dist/cjs/preset/server/utils/apply-server-middleware.js +22 -0
- package/dist/cjs/preset/server/utils/apply-server-middleware.js.map +1 -0
- package/dist/cjs/preset/server/utils/format-handler-error.js +40 -0
- package/dist/cjs/preset/server/utils/format-handler-error.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-client-ip.js +16 -0
- package/dist/cjs/preset/server/utils/get-client-ip.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-fetch-tracing.js +46 -0
- package/dist/cjs/preset/server/utils/get-fetch-tracing.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js +34 -0
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-handler-metrics.js +43 -0
- package/dist/cjs/preset/server/utils/get-handler-metrics.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-health-check.js +22 -0
- package/dist/cjs/preset/server/utils/get-health-check.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-page-response-format.js +21 -0
- package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js +36 -0
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-serve-logging.js +37 -0
- package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-serve-measuring.js +57 -0
- package/dist/cjs/preset/server/utils/get-serve-measuring.js.map +1 -0
- package/dist/cjs/preset/server/utils/handler-provider.js +30 -0
- package/dist/cjs/preset/server/utils/handler-provider.js.map +1 -0
- package/dist/cjs/preset/{node/handler/utils/index.js → server/utils/regular-helmet.js} +2 -66
- package/dist/cjs/preset/server/utils/regular-helmet.js.map +1 -0
- package/dist/cjs/preset/server/utils/specific-extras.js +30 -0
- package/dist/cjs/preset/server/utils/specific-extras.js.map +1 -0
- package/dist/cjs/preset/web/index.js +22 -10
- package/dist/cjs/preset/web/index.js.map +1 -1
- package/dist/cjs/preset/web/providers/axios-middleware.js +19 -0
- package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -0
- package/dist/cjs/preset/web/providers/config-source.js +19 -0
- package/dist/cjs/preset/web/providers/config-source.js.map +1 -0
- package/dist/cjs/preset/web/providers/fetch-middleware.js +21 -0
- package/dist/cjs/preset/web/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/web/providers/known-http-api-hosts.js +24 -0
- package/dist/cjs/preset/web/providers/known-http-api-hosts.js.map +1 -0
- package/dist/cjs/preset/web/providers/logger.js +47 -0
- package/dist/cjs/preset/web/providers/logger.js.map +1 -0
- package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js +18 -0
- package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
- package/dist/cjs/tokens.js +111 -30
- package/dist/cjs/tokens.js.map +1 -1
- package/dist/cjs/utils/express/utils/index.js.map +1 -1
- package/dist/esm/di/application.js +3 -3
- package/dist/esm/di/application.js.map +1 -1
- package/dist/esm/http/errors.js +11 -3
- package/dist/esm/http/errors.js.map +1 -1
- package/dist/esm/http/index.js +1 -0
- package/dist/esm/http/index.js.map +1 -1
- package/dist/esm/http/types.js.map +1 -1
- package/dist/esm/http/utils.js +74 -0
- package/dist/esm/http/utils.js.map +1 -0
- package/dist/esm/package.json +8 -6
- package/dist/esm/preset/bun/index.js +62 -0
- package/dist/esm/preset/bun/index.js.map +1 -0
- package/dist/esm/preset/bun/providers/config-source.js +6 -0
- package/dist/esm/preset/bun/providers/config-source.js.map +1 -0
- package/dist/esm/preset/bun/providers/fetch-middleware.js +7 -0
- package/dist/esm/preset/bun/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/bun/providers/log-handler-sentry.js +18 -0
- package/dist/esm/preset/bun/providers/log-handler-sentry.js.map +1 -0
- package/dist/esm/preset/bun/providers/logger.js +12 -0
- package/dist/esm/preset/bun/providers/logger.js.map +1 -0
- package/dist/esm/preset/bun/providers/serve-metrics.js +18 -0
- package/dist/esm/preset/bun/providers/serve-metrics.js.map +1 -0
- package/dist/esm/preset/bun/providers/serve-middleware.js +23 -0
- package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -0
- package/dist/esm/preset/bun/providers/serve.js +27 -0
- package/dist/esm/preset/bun/providers/serve.js.map +1 -0
- package/dist/esm/preset/bun/providers/service-routes.js +10 -0
- package/dist/esm/preset/bun/providers/service-routes.js.map +1 -0
- package/dist/esm/preset/bun/utils/get-stats-handler.js +22 -0
- package/dist/esm/preset/bun/utils/get-stats-handler.js.map +1 -0
- package/dist/esm/preset/bun-handler/index.js +60 -0
- package/dist/esm/preset/bun-handler/index.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/accept-type.js +18 -0
- package/dist/esm/preset/bun-handler/providers/accept-type.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/cookie-store.js +9 -0
- package/dist/esm/preset/bun-handler/providers/cookie-store.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +25 -0
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/handler-main.js +84 -0
- package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/specific-params.js +13 -0
- package/dist/esm/preset/bun-handler/providers/specific-params.js.map +1 -0
- package/dist/esm/preset/isomorphic/index.js +10 -1
- package/dist/esm/preset/isomorphic/index.js.map +1 -1
- package/dist/esm/preset/isomorphic/providers/abort-controller.js +8 -0
- package/dist/esm/preset/isomorphic/providers/abort-controller.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/axios-factory.js +19 -0
- package/dist/esm/preset/isomorphic/providers/axios-factory.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/axios-log-handler.js +13 -0
- package/dist/esm/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/base-config.js +13 -0
- package/dist/esm/preset/isomorphic/providers/base-config.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/fetch.js +13 -0
- package/dist/esm/preset/isomorphic/providers/fetch.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js +20 -0
- package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
- package/dist/esm/preset/isomorphic/types.js.map +1 -1
- package/dist/esm/preset/isomorphic/utils/axios-logging.js +140 -0
- package/dist/esm/preset/isomorphic/utils/axios-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/disableable.js +25 -0
- package/dist/esm/preset/isomorphic/utils/disableable.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/display-url.js +26 -0
- package/dist/esm/preset/isomorphic/utils/display-url.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/fetch-logging.js +78 -0
- package/dist/esm/preset/isomorphic/utils/fetch-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js +16 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js +25 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js +20 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/hide-first-id.js +14 -0
- package/dist/esm/preset/isomorphic/utils/hide-first-id.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js +39 -0
- package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/http-status.js +63 -0
- package/dist/esm/preset/isomorphic/utils/http-status.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/saga-logging.js +47 -0
- package/dist/esm/preset/isomorphic/utils/saga-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/severity-from-status.js +24 -0
- package/dist/esm/preset/isomorphic/utils/severity-from-status.js.map +1 -0
- package/dist/esm/preset/node/index.js +82 -2
- package/dist/esm/preset/node/index.js.map +1 -1
- package/dist/esm/preset/node/providers/config-source.js +23 -0
- package/dist/esm/preset/node/providers/config-source.js.map +1 -0
- package/dist/esm/preset/node/providers/express-error-middleware.js +10 -0
- package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-factory.js +10 -0
- package/dist/esm/preset/node/providers/express-factory.js.map +1 -0
- package/dist/esm/preset/node/providers/express-log-middleware.js +40 -0
- package/dist/esm/preset/node/providers/express-log-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-metrics-middleware.js +55 -0
- package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-request-middleware.js +10 -0
- package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-tracing-middleware.js +51 -0
- package/dist/esm/preset/node/providers/express-tracing-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/log-handler-pino.js +26 -0
- package/dist/esm/preset/node/providers/log-handler-pino.js.map +1 -0
- package/dist/esm/preset/node/providers/log-handler-sentry.js +24 -0
- package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -0
- package/dist/esm/preset/node/providers/logger.js +18 -0
- package/dist/esm/preset/node/providers/logger.js.map +1 -0
- package/dist/esm/preset/node/providers/metrics-http-app.js +18 -0
- package/dist/esm/preset/node/providers/metrics-http-app.js.map +1 -0
- package/dist/esm/preset/node/providers/span-exporter.js +16 -0
- package/dist/esm/preset/node/providers/span-exporter.js.map +1 -0
- package/dist/esm/preset/node/providers/tracer-provider-resource.js +20 -0
- package/dist/esm/preset/node/providers/tracer-provider-resource.js.map +1 -0
- package/dist/esm/preset/node/providers/tracer-provider.js +22 -0
- package/dist/esm/preset/node/providers/tracer-provider.js.map +1 -0
- package/dist/esm/preset/node/providers/tracer.js +13 -0
- package/dist/esm/preset/node/providers/tracer.js.map +1 -0
- package/dist/esm/preset/node/types.js.map +1 -1
- package/dist/esm/preset/node/{node/utils/http-client/index.js → utils/axios-tracing-middleware.js} +8 -47
- package/dist/esm/preset/node/utils/axios-tracing-middleware.js.map +1 -0
- package/dist/esm/preset/node/utils/emitter-as-target.js +45 -0
- package/dist/esm/preset/node/utils/emitter-as-target.js.map +1 -0
- package/dist/esm/preset/node/{node/utils/http-server/index.js → utils/get-client-ip.js} +2 -2
- package/dist/esm/preset/node/utils/get-client-ip.js.map +1 -0
- package/dist/esm/preset/node/utils/get-forwarded-headers.js +31 -0
- package/dist/esm/preset/node/utils/get-forwarded-headers.js.map +1 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js +14 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -0
- package/dist/esm/preset/node/utils/handler-provider.js +24 -0
- package/dist/esm/preset/node/utils/handler-provider.js.map +1 -0
- package/dist/esm/preset/node-handler/index.js +68 -0
- package/dist/esm/preset/node-handler/index.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/accepts-type.js +12 -0
- package/dist/esm/preset/node-handler/providers/accepts-type.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/axios-log-handler.js +20 -0
- package/dist/esm/preset/node-handler/providers/axios-log-handler.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/axios-middleware.js +50 -0
- package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/cookie-store.js +13 -0
- package/dist/esm/preset/node-handler/providers/cookie-store.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js +31 -0
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/handler-main.js +71 -0
- package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/response-events.js +13 -0
- package/dist/esm/preset/node-handler/providers/response-events.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/specific-params.js +23 -0
- package/dist/esm/preset/node-handler/providers/specific-params.js.map +1 -0
- package/dist/esm/preset/server/constants.js +15 -0
- package/dist/esm/preset/server/constants.js.map +1 -0
- package/dist/esm/preset/server/index.js +14 -0
- package/dist/esm/preset/server/index.js.map +1 -0
- package/dist/esm/preset/server/providers/element-to-string.js +19 -0
- package/dist/esm/preset/server/providers/element-to-string.js.map +1 -0
- package/dist/esm/preset/server/providers/fetch-log-handler.js +18 -0
- package/dist/esm/preset/server/providers/fetch-log-handler.js.map +1 -0
- package/dist/esm/preset/server/providers/format-page-response.js +63 -0
- package/dist/esm/preset/server/providers/format-page-response.js.map +1 -0
- package/dist/esm/preset/server/providers/known-http-api-hosts.js +19 -0
- package/dist/esm/preset/server/providers/known-http-api-hosts.js.map +1 -0
- package/dist/esm/preset/server/providers/page-helmet.js +16 -0
- package/dist/esm/preset/server/providers/page-helmet.js.map +1 -0
- package/dist/esm/preset/server/providers/page-render.js +9 -0
- package/dist/esm/preset/server/providers/page-render.js.map +1 -0
- package/dist/esm/preset/server/providers/response-events.js +12 -0
- package/dist/esm/preset/server/providers/response-events.js.map +1 -0
- package/dist/esm/preset/server/providers/ssr-bridge-server-side.js +13 -0
- package/dist/esm/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
- package/dist/esm/preset/server/types.js +2 -0
- package/dist/esm/preset/server/types.js.map +1 -0
- package/dist/esm/preset/server/utils/apply-server-middleware.js +16 -0
- package/dist/esm/preset/server/utils/apply-server-middleware.js.map +1 -0
- package/dist/esm/preset/server/utils/format-handler-error.js +34 -0
- package/dist/esm/preset/server/utils/format-handler-error.js.map +1 -0
- package/dist/esm/preset/server/utils/get-client-ip.js +10 -0
- package/dist/esm/preset/server/utils/get-client-ip.js.map +1 -0
- package/dist/esm/preset/server/utils/get-fetch-tracing.js +41 -0
- package/dist/esm/preset/server/utils/get-fetch-tracing.js.map +1 -0
- package/dist/esm/preset/server/utils/get-forwarded-headers.js +29 -0
- package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -0
- package/dist/esm/preset/server/utils/get-handler-metrics.js +35 -0
- package/dist/esm/preset/server/utils/get-handler-metrics.js.map +1 -0
- package/dist/esm/preset/server/utils/get-health-check.js +16 -0
- package/dist/esm/preset/server/utils/get-health-check.js.map +1 -0
- package/dist/esm/preset/server/utils/get-page-response-format.js +15 -0
- package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -0
- package/dist/esm/preset/server/utils/get-serve-error-logging.js +31 -0
- package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -0
- package/dist/esm/preset/server/utils/get-serve-logging.js +32 -0
- package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -0
- package/dist/esm/preset/server/utils/get-serve-measuring.js +52 -0
- package/dist/esm/preset/server/utils/get-serve-measuring.js.map +1 -0
- package/dist/esm/preset/server/utils/handler-provider.js +25 -0
- package/dist/esm/preset/server/utils/handler-provider.js.map +1 -0
- package/dist/esm/preset/{node/handler/utils/index.js → server/utils/regular-helmet.js} +2 -62
- package/dist/esm/preset/server/utils/regular-helmet.js.map +1 -0
- package/dist/esm/preset/server/utils/specific-extras.js +23 -0
- package/dist/esm/preset/server/utils/specific-extras.js.map +1 -0
- package/dist/esm/preset/web/index.js +18 -6
- package/dist/esm/preset/web/index.js.map +1 -1
- package/dist/esm/preset/web/providers/axios-middleware.js +14 -0
- package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -0
- package/dist/esm/preset/web/providers/config-source.js +14 -0
- package/dist/esm/preset/web/providers/config-source.js.map +1 -0
- package/dist/esm/preset/web/providers/fetch-middleware.js +16 -0
- package/dist/esm/preset/web/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/web/providers/known-http-api-hosts.js +19 -0
- package/dist/esm/preset/web/providers/known-http-api-hosts.js.map +1 -0
- package/dist/esm/preset/web/providers/logger.js +42 -0
- package/dist/esm/preset/web/providers/logger.js.map +1 -0
- package/dist/esm/preset/web/providers/ssr-bridge-client-side.js +13 -0
- package/dist/esm/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
- package/dist/esm/tokens.js +111 -30
- package/dist/esm/tokens.js.map +1 -1
- package/dist/esm/utils/express/utils/index.js.map +1 -1
- package/dist/types/http/errors.d.ts +6 -2
- package/dist/types/http/errors.d.ts.map +1 -1
- package/dist/types/http/index.d.ts +2 -1
- package/dist/types/http/index.d.ts.map +1 -1
- package/dist/types/http/types.d.ts +22 -0
- package/dist/types/http/types.d.ts.map +1 -1
- package/dist/types/http/utils.d.ts +32 -0
- package/dist/types/http/utils.d.ts.map +1 -0
- package/dist/types/preset/bun/index.d.ts +10 -0
- package/dist/types/preset/bun/index.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/config-source.d.ts +3 -0
- package/dist/types/preset/bun/providers/config-source.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/fetch-middleware.d.ts +3 -0
- package/dist/types/preset/bun/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/log-handler-sentry.d.ts +3 -0
- package/dist/types/preset/bun/providers/log-handler-sentry.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/logger.d.ts +4 -0
- package/dist/types/preset/bun/providers/logger.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/serve-metrics.d.ts +3 -0
- package/dist/types/preset/bun/providers/serve-metrics.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/serve-middleware.d.ts +4 -0
- package/dist/types/preset/bun/providers/serve-middleware.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/serve.d.ts +4 -0
- package/dist/types/preset/bun/providers/serve.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/service-routes.d.ts +3 -0
- package/dist/types/preset/bun/providers/service-routes.d.ts.map +1 -0
- package/dist/types/preset/bun/utils/get-stats-handler.d.ts +7 -0
- package/dist/types/preset/bun/utils/get-stats-handler.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/index.d.ts +9 -0
- package/dist/types/preset/bun-handler/index.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/accept-type.d.ts +11 -0
- package/dist/types/preset/bun-handler/providers/accept-type.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/cookie-store.d.ts +4 -0
- package/dist/types/preset/bun-handler/providers/cookie-store.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts +4 -0
- package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts +3 -0
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/specific-params.d.ts +3 -0
- package/dist/types/preset/bun-handler/providers/specific-params.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/index.d.ts +9 -0
- package/dist/types/preset/isomorphic/index.d.ts.map +1 -1
- package/dist/types/preset/isomorphic/providers/abort-controller.d.ts +6 -0
- package/dist/types/preset/isomorphic/providers/abort-controller.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/axios-factory.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/axios-factory.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/base-config.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/base-config.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/fetch.d.ts +8 -0
- package/dist/types/preset/isomorphic/providers/fetch.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/types.d.ts +1 -1
- package/dist/types/preset/isomorphic/types.d.ts.map +1 -1
- package/dist/types/preset/isomorphic/utils/axios-logging.d.ts +34 -0
- package/dist/types/preset/isomorphic/utils/axios-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/disableable.d.ts +18 -0
- package/dist/types/preset/isomorphic/utils/disableable.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/display-url.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/display-url.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts +18 -0
- package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts +8 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/hide-first-id.d.ts +11 -0
- package/dist/types/preset/isomorphic/utils/hide-first-id.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts +24 -0
- package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/http-status.d.ts +29 -0
- package/dist/types/preset/isomorphic/utils/http-status.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/saga-logging.d.ts +30 -0
- package/dist/types/preset/isomorphic/utils/saga-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts +8 -0
- package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts.map +1 -0
- package/dist/types/preset/node/index.d.ts +12 -3
- package/dist/types/preset/node/index.d.ts.map +1 -1
- package/dist/types/preset/node/providers/config-source.d.ts +7 -0
- package/dist/types/preset/node/providers/config-source.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-error-middleware.d.ts +7 -0
- package/dist/types/preset/node/providers/express-error-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-factory.d.ts +7 -0
- package/dist/types/preset/node/providers/express-factory.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-log-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-log-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-metrics-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-metrics-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-request-middleware.d.ts +7 -0
- package/dist/types/preset/node/providers/express-request-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-tracing-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-tracing-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/log-handler-pino.d.ts +9 -0
- package/dist/types/preset/node/providers/log-handler-pino.d.ts.map +1 -0
- package/dist/types/preset/node/providers/log-handler-sentry.d.ts +9 -0
- package/dist/types/preset/node/providers/log-handler-sentry.d.ts.map +1 -0
- package/dist/types/preset/node/providers/logger.d.ts +9 -0
- package/dist/types/preset/node/providers/logger.d.ts.map +1 -0
- package/dist/types/preset/node/providers/metrics-http-app.d.ts +7 -0
- package/dist/types/preset/node/providers/metrics-http-app.d.ts.map +1 -0
- package/dist/types/preset/node/providers/span-exporter.d.ts +9 -0
- package/dist/types/preset/node/providers/span-exporter.d.ts.map +1 -0
- package/dist/types/preset/node/providers/tracer-provider-resource.d.ts +9 -0
- package/dist/types/preset/node/providers/tracer-provider-resource.d.ts.map +1 -0
- package/dist/types/preset/node/providers/tracer-provider.d.ts +9 -0
- package/dist/types/preset/node/providers/tracer-provider.d.ts.map +1 -0
- package/dist/types/preset/node/providers/tracer.d.ts +9 -0
- package/dist/types/preset/node/providers/tracer.d.ts.map +1 -0
- package/dist/types/preset/node/types.d.ts +4 -4
- package/dist/types/preset/node/types.d.ts.map +1 -1
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts +23 -0
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/utils/emitter-as-target.d.ts +18 -0
- package/dist/types/preset/node/utils/emitter-as-target.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-client-ip.d.ts +8 -0
- package/dist/types/preset/node/utils/get-client-ip.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-forwarded-headers.d.ts +10 -0
- package/dist/types/preset/node/utils/get-forwarded-headers.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts +9 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts.map +1 -0
- package/dist/types/preset/node/utils/handler-provider.d.ts +9 -0
- package/dist/types/preset/node/utils/handler-provider.d.ts.map +1 -0
- package/dist/types/preset/{node/handler → node-handler}/index.d.ts +2 -3
- package/dist/types/preset/node-handler/index.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/accepts-type.d.ts +13 -0
- package/dist/types/preset/node-handler/providers/accepts-type.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/axios-middleware.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/cookie-store.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/cookie-store.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/handler-main.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/response-events.d.ts +8 -0
- package/dist/types/preset/node-handler/providers/response-events.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/specific-params.d.ts +8 -0
- package/dist/types/preset/node-handler/providers/specific-params.d.ts.map +1 -0
- package/dist/types/preset/server/constants.d.ts +13 -0
- package/dist/types/preset/server/constants.d.ts.map +1 -0
- package/dist/types/preset/server/index.d.ts +13 -0
- package/dist/types/preset/server/index.d.ts.map +1 -0
- package/dist/types/preset/server/providers/element-to-string.d.ts +9 -0
- package/dist/types/preset/server/providers/element-to-string.d.ts.map +1 -0
- package/dist/types/preset/server/providers/fetch-log-handler.d.ts +9 -0
- package/dist/types/preset/server/providers/fetch-log-handler.d.ts.map +1 -0
- package/dist/types/preset/server/providers/format-page-response.d.ts +10 -0
- package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -0
- package/dist/types/preset/server/providers/known-http-api-hosts.d.ts +10 -0
- package/dist/types/preset/server/providers/known-http-api-hosts.d.ts.map +1 -0
- package/dist/types/preset/server/providers/page-helmet.d.ts +11 -0
- package/dist/types/preset/server/providers/page-helmet.d.ts.map +1 -0
- package/dist/types/preset/server/providers/page-render.d.ts +6 -0
- package/dist/types/preset/server/providers/page-render.d.ts.map +1 -0
- package/dist/types/preset/server/providers/response-events.d.ts +8 -0
- package/dist/types/preset/server/providers/response-events.d.ts.map +1 -0
- package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts +9 -0
- package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts.map +1 -0
- package/dist/types/preset/server/types.d.ts +28 -0
- package/dist/types/preset/server/types.d.ts.map +1 -0
- package/dist/types/preset/server/utils/apply-server-middleware.d.ts +8 -0
- package/dist/types/preset/server/utils/apply-server-middleware.d.ts.map +1 -0
- package/dist/types/preset/server/utils/format-handler-error.d.ts +18 -0
- package/dist/types/preset/server/utils/format-handler-error.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-client-ip.d.ts +7 -0
- package/dist/types/preset/server/utils/get-client-ip.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-fetch-tracing.d.ts +10 -0
- package/dist/types/preset/server/utils/get-fetch-tracing.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-forwarded-headers.d.ts +9 -0
- package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-handler-metrics.d.ts +15 -0
- package/dist/types/preset/server/utils/get-handler-metrics.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-health-check.d.ts +8 -0
- package/dist/types/preset/server/utils/get-health-check.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-page-response-format.d.ts +9 -0
- package/dist/types/preset/server/utils/get-page-response-format.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-serve-error-logging.d.ts +9 -0
- package/dist/types/preset/server/utils/get-serve-error-logging.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-serve-logging.d.ts +9 -0
- package/dist/types/preset/server/utils/get-serve-logging.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-serve-measuring.d.ts +9 -0
- package/dist/types/preset/server/utils/get-serve-measuring.d.ts.map +1 -0
- package/dist/types/preset/server/utils/handler-provider.d.ts +11 -0
- package/dist/types/preset/server/utils/handler-provider.d.ts.map +1 -0
- package/dist/types/preset/server/utils/regular-helmet.d.ts +15 -0
- package/dist/types/preset/server/utils/regular-helmet.d.ts.map +1 -0
- package/dist/types/preset/server/utils/specific-extras.d.ts +18 -0
- package/dist/types/preset/server/utils/specific-extras.d.ts.map +1 -0
- package/dist/types/preset/web/index.d.ts.map +1 -1
- package/dist/types/preset/web/providers/axios-middleware.d.ts +8 -0
- package/dist/types/preset/web/providers/axios-middleware.d.ts.map +1 -0
- package/dist/types/preset/web/providers/config-source.d.ts +7 -0
- package/dist/types/preset/web/providers/config-source.d.ts.map +1 -0
- package/dist/types/preset/web/providers/fetch-middleware.d.ts +8 -0
- package/dist/types/preset/web/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/web/providers/known-http-api-hosts.d.ts +10 -0
- package/dist/types/preset/web/providers/known-http-api-hosts.d.ts.map +1 -0
- package/dist/types/preset/web/providers/logger.d.ts +9 -0
- package/dist/types/preset/web/providers/logger.d.ts.map +1 -0
- package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts +9 -0
- package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts.map +1 -0
- package/dist/types/tokens.d.ts +124 -27
- package/dist/types/tokens.d.ts.map +1 -1
- package/dist/types/utils/express/utils/index.d.ts.map +1 -1
- package/package.json +100 -123
- package/dist/cjs/preset/isomorphic/constants.js +0 -14
- package/dist/cjs/preset/isomorphic/constants.js.map +0 -1
- package/dist/cjs/preset/isomorphic/providers/index.js +0 -42
- package/dist/cjs/preset/isomorphic/providers/index.js.map +0 -1
- package/dist/cjs/preset/isomorphic/utils/index.js +0 -322
- package/dist/cjs/preset/isomorphic/utils/index.js.map +0 -1
- package/dist/cjs/preset/node/handler/index.js +0 -52
- package/dist/cjs/preset/node/handler/index.js.map +0 -1
- package/dist/cjs/preset/node/handler/providers/index.js +0 -212
- package/dist/cjs/preset/node/handler/providers/index.js.map +0 -1
- package/dist/cjs/preset/node/handler/utils/index.js.map +0 -1
- package/dist/cjs/preset/node/node/index.js +0 -61
- package/dist/cjs/preset/node/node/index.js.map +0 -1
- package/dist/cjs/preset/node/node/providers/index.js +0 -403
- package/dist/cjs/preset/node/node/providers/index.js.map +0 -1
- package/dist/cjs/preset/node/node/utils/http-client/index.js.map +0 -1
- package/dist/cjs/preset/node/node/utils/http-server/index.js.map +0 -1
- package/dist/cjs/preset/node/node/utils/index.js +0 -20
- package/dist/cjs/preset/node/node/utils/index.js.map +0 -1
- package/dist/cjs/preset/web/providers/index.js +0 -94
- package/dist/cjs/preset/web/providers/index.js.map +0 -1
- package/dist/esm/preset/isomorphic/constants.js +0 -8
- package/dist/esm/preset/isomorphic/constants.js.map +0 -1
- package/dist/esm/preset/isomorphic/providers/index.js +0 -35
- package/dist/esm/preset/isomorphic/providers/index.js.map +0 -1
- package/dist/esm/preset/isomorphic/utils/index.js +0 -309
- package/dist/esm/preset/isomorphic/utils/index.js.map +0 -1
- package/dist/esm/preset/node/handler/index.js +0 -42
- package/dist/esm/preset/node/handler/index.js.map +0 -1
- package/dist/esm/preset/node/handler/providers/index.js +0 -194
- package/dist/esm/preset/node/handler/providers/index.js.map +0 -1
- package/dist/esm/preset/node/handler/utils/index.js.map +0 -1
- package/dist/esm/preset/node/node/index.js +0 -56
- package/dist/esm/preset/node/node/index.js.map +0 -1
- package/dist/esm/preset/node/node/providers/index.js +0 -378
- package/dist/esm/preset/node/node/providers/index.js.map +0 -1
- package/dist/esm/preset/node/node/utils/http-client/index.js.map +0 -1
- package/dist/esm/preset/node/node/utils/http-server/index.js.map +0 -1
- package/dist/esm/preset/node/node/utils/index.js +0 -3
- package/dist/esm/preset/node/node/utils/index.js.map +0 -1
- package/dist/esm/preset/web/providers/index.js +0 -85
- package/dist/esm/preset/web/providers/index.js.map +0 -1
- package/dist/types/preset/isomorphic/constants.d.ts +0 -8
- package/dist/types/preset/isomorphic/constants.d.ts.map +0 -1
- package/dist/types/preset/isomorphic/providers/index.d.ts +0 -23
- package/dist/types/preset/isomorphic/providers/index.d.ts.map +0 -1
- package/dist/types/preset/isomorphic/utils/index.d.ts +0 -119
- package/dist/types/preset/isomorphic/utils/index.d.ts.map +0 -1
- package/dist/types/preset/node/handler/index.d.ts.map +0 -1
- package/dist/types/preset/node/handler/providers/index.d.ts +0 -36
- package/dist/types/preset/node/handler/providers/index.d.ts.map +0 -1
- package/dist/types/preset/node/handler/utils/index.d.ts +0 -47
- package/dist/types/preset/node/handler/utils/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/index.d.ts +0 -9
- package/dist/types/preset/node/node/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/providers/index.d.ts +0 -113
- package/dist/types/preset/node/node/providers/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/utils/http-client/index.d.ts +0 -42
- package/dist/types/preset/node/node/utils/http-client/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/utils/http-server/index.d.ts +0 -8
- package/dist/types/preset/node/node/utils/http-server/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/utils/index.d.ts +0 -3
- package/dist/types/preset/node/node/utils/index.d.ts.map +0 -1
- package/dist/types/preset/web/providers/index.d.ts +0 -36
- package/dist/types/preset/web/providers/index.d.ts.map +0 -1
- package/src/cache/index.ts +0 -1
- package/src/cache/types.ts +0 -34
- package/src/config/base.ts +0 -18
- package/src/config/index.ts +0 -3
- package/src/config/source.ts +0 -23
- package/src/config/types.ts +0 -25
- package/src/di/__test__/application.test.ts +0 -258
- package/src/di/__test__/container.test.ts +0 -103
- package/src/di/__test__/errors.test.ts +0 -56
- package/src/di/__test__/preset.test.ts +0 -23
- package/src/di/__test__/token.test.ts +0 -25
- package/src/di/application.ts +0 -126
- package/src/di/container.ts +0 -60
- package/src/di/errors.ts +0 -59
- package/src/di/index.ts +0 -6
- package/src/di/preset.ts +0 -32
- package/src/di/token.ts +0 -41
- package/src/di/types.ts +0 -105
- package/src/http/__test__/errors.test.ts +0 -35
- package/src/http/errors.ts +0 -42
- package/src/http/index.ts +0 -14
- package/src/http/types.ts +0 -8
- package/src/log/__test__/errors.test.ts +0 -13
- package/src/log/__test__/logger.test.ts +0 -24
- package/src/log/errors.ts +0 -33
- package/src/log/handler/pino.ts +0 -27
- package/src/log/handler/sentry.ts +0 -57
- package/src/log/index.ts +0 -12
- package/src/log/logger.ts +0 -30
- package/src/log/types.ts +0 -76
- package/src/preset/isomorphic/constants.ts +0 -7
- package/src/preset/isomorphic/index.ts +0 -7
- package/src/preset/isomorphic/providers/index.ts +0 -40
- package/src/preset/isomorphic/types.ts +0 -37
- package/src/preset/isomorphic/utils/__test__/index.test.ts +0 -541
- package/src/preset/isomorphic/utils/index.ts +0 -349
- package/src/preset/node/handler/index.ts +0 -46
- package/src/preset/node/handler/providers/index.tsx +0 -214
- package/src/preset/node/handler/utils/index.tsx +0 -110
- package/src/preset/node/index.ts +0 -3
- package/src/preset/node/node/index.ts +0 -73
- package/src/preset/node/node/providers/index.ts +0 -434
- package/src/preset/node/node/utils/http-client/__test__/index.test.ts +0 -232
- package/src/preset/node/node/utils/http-client/index.ts +0 -129
- package/src/preset/node/node/utils/http-server/index.ts +0 -17
- package/src/preset/node/node/utils/index.ts +0 -2
- package/src/preset/node/types.ts +0 -10
- package/src/preset/web/index.ts +0 -40
- package/src/preset/web/providers/index.ts +0 -108
- package/src/tokens.ts +0 -108
- package/src/utils/axios/index.ts +0 -12
- package/src/utils/axios/middleware/__test__/cookie.test.ts +0 -94
- package/src/utils/axios/middleware/__test__/log.test.ts +0 -121
- package/src/utils/axios/middleware/cookie.ts +0 -26
- package/src/utils/axios/middleware/log.ts +0 -52
- package/src/utils/axios/sauce/index.ts +0 -76
- package/src/utils/axios/utils/__test__/index.test.ts +0 -89
- package/src/utils/axios/utils/index.ts +0 -26
- package/src/utils/express/handler/health-check.ts +0 -13
- package/src/utils/express/index.ts +0 -2
- package/src/utils/express/utils/index.ts +0 -18
- package/src/utils/function.ts +0 -57
- package/src/utils/index.ts +0 -2
- package/src/utils/math.ts +0 -8
- package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +0 -27
- package/src/utils/react/error-handlers/__test__/index.test.tsx +0 -63
- package/src/utils/react/error-handlers/index.tsx +0 -68
- package/src/utils/react/index.ts +0 -3
- package/src/utils/redux/__test__/remote-data.test.ts +0 -172
- package/src/utils/redux/index.ts +0 -4
- package/src/utils/redux/remote-data.ts +0 -138
- package/src/utils/redux-saga/__test__/take-chain.test.ts +0 -141
- package/src/utils/redux-saga/index.ts +0 -3
- package/src/utils/redux-saga/middleware.ts +0 -168
- package/src/utils/redux-saga/take-chain.ts +0 -67
- package/src/utils/redux-saga/types.ts +0 -43
- package/src/utils/ssr/index.tsx +0 -78
- package/src/utils/web/analytics/__test__/data-layer.test.ts +0 -50
- package/src/utils/web/analytics/__test__/oko.test.ts +0 -50
- package/src/utils/web/analytics/data-layer.ts +0 -12
- package/src/utils/web/analytics/index.ts +0 -2
- package/src/utils/web/analytics/oko.ts +0 -14
- package/src/utils/web/storage/index.ts +0 -83
- package/src/utils/webpack/env/index.ts +0 -91
- package/src/utils/webpack/env/types.ts +0 -14
- package/src/utils/webpack/env/utils.ts +0 -53
- package/src/utils/webpack/index.ts +0 -7
- package/src/utils/webpack/module-federation/__test__/__snapshots__/utils.test.ts.snap +0 -124
- package/src/utils/webpack/module-federation/__test__/index.test.ts +0 -311
- package/src/utils/webpack/module-federation/__test__/utils.test.ts +0 -28
- package/src/utils/webpack/module-federation/index.ts +0 -102
- package/src/utils/webpack/module-federation/types.ts +0 -54
- package/src/utils/webpack/module-federation/utils.ts +0 -104
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { KnownToken } from "../../../tokens.js";
|
|
2
|
+
import { PAGE_FORMAT_PRIORITY } from "../constants.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Провайдер функции форматирования ответа.
|
|
6
|
+
* Функция форматирования вернёт данные ответа на запрос страницы в нужном формате в зависимости от заголовка Accept.
|
|
7
|
+
* @param resolve Резолвер.
|
|
8
|
+
* @return Функция форматирования.
|
|
9
|
+
*/
|
|
10
|
+
export function provideFormatPageResponse(resolve) {
|
|
11
|
+
const config = resolve(KnownToken.Config.base);
|
|
12
|
+
const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);
|
|
13
|
+
const elementToString = resolve(KnownToken.Http.Handler.Page.elementToString);
|
|
14
|
+
return async (jsx, assets, meta) => {
|
|
15
|
+
const headers = new Headers();
|
|
16
|
+
let body;
|
|
17
|
+
switch (acceptType(PAGE_FORMAT_PRIORITY)) {
|
|
18
|
+
case 'json':
|
|
19
|
+
{
|
|
20
|
+
headers.set('content-type', 'application/json');
|
|
21
|
+
body = JSON.stringify({
|
|
22
|
+
markup: await elementToString(jsx),
|
|
23
|
+
bundle_js: assets.js,
|
|
24
|
+
bundle_css: assets.css,
|
|
25
|
+
critical_js: assets.criticalJs,
|
|
26
|
+
critical_css: assets.criticalCss,
|
|
27
|
+
meta
|
|
28
|
+
});
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
case 'html':
|
|
32
|
+
default:
|
|
33
|
+
{
|
|
34
|
+
headers.set('content-type', 'text/html');
|
|
35
|
+
headers.set('simaland-bundle-js', assets.js);
|
|
36
|
+
headers.set('simaland-bundle-css', assets.css);
|
|
37
|
+
if (assets.criticalJs) {
|
|
38
|
+
headers.set('simaland-critical-js', assets.criticalJs);
|
|
39
|
+
}
|
|
40
|
+
if (assets.criticalCss) {
|
|
41
|
+
headers.set('simaland-critical-css', assets.criticalCss);
|
|
42
|
+
}
|
|
43
|
+
if (meta) {
|
|
44
|
+
headers.set('simaland-meta', JSON.stringify(meta));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css
|
|
48
|
+
// ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу
|
|
49
|
+
if (config.env === 'development') {
|
|
50
|
+
body = `<!DOCTYPE html>${await elementToString(jsx)}`;
|
|
51
|
+
} else {
|
|
52
|
+
body = await elementToString(jsx);
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
body,
|
|
59
|
+
headers
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=format-page-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-page-response.js","names":["KnownToken","PAGE_FORMAT_PRIORITY","provideFormatPageResponse","resolve","config","Config","base","acceptType","Http","Handler","Request","elementToString","Page","jsx","assets","meta","headers","Headers","body","set","JSON","stringify","markup","bundle_js","js","bundle_css","css","critical_js","criticalJs","critical_css","criticalCss","env"],"sources":["../../../../../src/preset/server/providers/format-page-response.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { ConventionalJson } from '../../isomorphic';\nimport type { PageResponseFormatter } from '../types';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_FORMAT_PRIORITY } from '../constants';\n\n/**\n * Провайдер функции форматирования ответа.\n * Функция форматирования вернёт данные ответа на запрос страницы в нужном формате в зависимости от заголовка Accept.\n * @param resolve Резолвер.\n * @return Функция форматирования.\n */\nexport function provideFormatPageResponse(resolve: Resolve): PageResponseFormatter {\n const config = resolve(KnownToken.Config.base);\n const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);\n const elementToString = resolve(KnownToken.Http.Handler.Page.elementToString);\n\n return async (jsx, assets, meta) => {\n const headers = new Headers();\n let body: string;\n\n switch (acceptType(PAGE_FORMAT_PRIORITY)) {\n case 'json': {\n headers.set('content-type', 'application/json');\n\n body = JSON.stringify({\n markup: await elementToString(jsx),\n bundle_js: assets.js,\n bundle_css: assets.css,\n critical_js: assets.criticalJs,\n critical_css: assets.criticalCss,\n meta,\n } satisfies ConventionalJson);\n\n break;\n }\n\n case 'html':\n default: {\n headers.set('content-type', 'text/html');\n headers.set('simaland-bundle-js', assets.js);\n headers.set('simaland-bundle-css', assets.css);\n\n if (assets.criticalJs) {\n headers.set('simaland-critical-js', assets.criticalJs);\n }\n\n if (assets.criticalCss) {\n headers.set('simaland-critical-css', assets.criticalCss);\n }\n\n if (meta) {\n headers.set('simaland-meta', JSON.stringify(meta));\n }\n\n // ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css\n // ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу\n if (config.env === 'development') {\n body = `<!DOCTYPE html>${await elementToString(jsx)}`;\n } else {\n body = await elementToString(jsx);\n }\n\n break;\n }\n }\n\n return { body, headers };\n };\n}\n"],"mappings":"AAGA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,oBAAoB,QAAQ,iBAAc;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CAACC,OAAgB,EAAyB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACK,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGJ,OAAO,CAACH,UAAU,CAACQ,IAAI,CAACC,OAAO,CAACC,OAAO,CAACH,UAAU,CAAC;EACtE,MAAMI,eAAe,GAAGR,OAAO,CAACH,UAAU,CAACQ,IAAI,CAACC,OAAO,CAACG,IAAI,CAACD,eAAe,CAAC;EAE7E,OAAO,OAAOE,GAAG,EAAEC,MAAM,EAAEC,IAAI,KAAK;IAClC,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAC7B,IAAIC,IAAY;IAEhB,QAAQX,UAAU,CAACN,oBAAoB,CAAC;MACtC,KAAK,MAAM;QAAE;UACXe,OAAO,CAACG,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;UAE/CD,IAAI,GAAGE,IAAI,CAACC,SAAS,CAAC;YACpBC,MAAM,EAAE,MAAMX,eAAe,CAACE,GAAG,CAAC;YAClCU,SAAS,EAAET,MAAM,CAACU,EAAE;YACpBC,UAAU,EAAEX,MAAM,CAACY,GAAG;YACtBC,WAAW,EAAEb,MAAM,CAACc,UAAU;YAC9BC,YAAY,EAAEf,MAAM,CAACgB,WAAW;YAChCf;UACF,CAA4B,CAAC;UAE7B;QACF;MAEA,KAAK,MAAM;MACX;QAAS;UACPC,OAAO,CAACG,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC;UACxCH,OAAO,CAACG,GAAG,CAAC,oBAAoB,EAAEL,MAAM,CAACU,EAAE,CAAC;UAC5CR,OAAO,CAACG,GAAG,CAAC,qBAAqB,EAAEL,MAAM,CAACY,GAAG,CAAC;UAE9C,IAAIZ,MAAM,CAACc,UAAU,EAAE;YACrBZ,OAAO,CAACG,GAAG,CAAC,sBAAsB,EAAEL,MAAM,CAACc,UAAU,CAAC;UACxD;UAEA,IAAId,MAAM,CAACgB,WAAW,EAAE;YACtBd,OAAO,CAACG,GAAG,CAAC,uBAAuB,EAAEL,MAAM,CAACgB,WAAW,CAAC;UAC1D;UAEA,IAAIf,IAAI,EAAE;YACRC,OAAO,CAACG,GAAG,CAAC,eAAe,EAAEC,IAAI,CAACC,SAAS,CAACN,IAAI,CAAC,CAAC;UACpD;;UAEA;UACA;UACA,IAAIX,MAAM,CAAC2B,GAAG,KAAK,aAAa,EAAE;YAChCb,IAAI,GAAI,kBAAiB,MAAMP,eAAe,CAACE,GAAG,CAAE,EAAC;UACvD,CAAC,MAAM;YACLK,IAAI,GAAG,MAAMP,eAAe,CAACE,GAAG,CAAC;UACnC;UAEA;QACF;IACF;IAEA,OAAO;MAAEK,IAAI;MAAEF;IAAQ,CAAC;EAC1B,CAAC;AACH"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { KnownToken } from "../../../tokens.js";
|
|
2
|
+
import { HttpApiHostPool } from "../../isomorphic/utils/http-api-host-pool.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Провайдер известных http-хостов.
|
|
6
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
7
|
+
* @return Пул известных http-хостов.
|
|
8
|
+
*/
|
|
9
|
+
export function provideKnownHttpApiHosts(resolve) {
|
|
10
|
+
const source = resolve(KnownToken.Config.source);
|
|
11
|
+
return new HttpApiHostPool({
|
|
12
|
+
ilium: 'API_URL_ILIUM',
|
|
13
|
+
simaV3: 'API_URL_SIMALAND_V3',
|
|
14
|
+
simaV4: 'API_URL_SIMALAND_V4',
|
|
15
|
+
simaV6: 'API_URL_SIMALAND_V6',
|
|
16
|
+
chponkiV2: 'API_URL_CHPONKI_V2'
|
|
17
|
+
}, source);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=known-http-api-hosts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-http-api-hosts.js","names":["KnownToken","HttpApiHostPool","provideKnownHttpApiHosts","resolve","source","Config","ilium","simaV3","simaV4","simaV6","chponkiV2"],"sources":["../../../../../src/preset/server/providers/known-http-api-hosts.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { KnownHttpApiKey } from '../../isomorphic';\nimport { KnownToken } from '../../../tokens';\nimport { HttpApiHostPool } from '../../isomorphic/utils/http-api-host-pool';\n\n/**\n * Провайдер известных http-хостов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Пул известных http-хостов.\n */\nexport function provideKnownHttpApiHosts(resolve: Resolve): HttpApiHostPool<KnownHttpApiKey> {\n const source = resolve(KnownToken.Config.source);\n\n return new HttpApiHostPool(\n {\n ilium: 'API_URL_ILIUM',\n simaV3: 'API_URL_SIMALAND_V3',\n simaV4: 'API_URL_SIMALAND_V4',\n simaV6: 'API_URL_SIMALAND_V6',\n chponkiV2: 'API_URL_CHPONKI_V2',\n },\n source,\n );\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,eAAe,QAAQ,8CAA2C;;AAE3E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAACC,OAAgB,EAAoC;EAC3F,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACK,MAAM,CAACD,MAAM,CAAC;EAEhD,OAAO,IAAIH,eAAe,CACxB;IACEK,KAAK,EAAE,eAAe;IACtBC,MAAM,EAAE,qBAAqB;IAC7BC,MAAM,EAAE,qBAAqB;IAC7BC,MAAM,EAAE,qBAAqB;IAC7BC,SAAS,EAAE;EACb,CAAC,EACDN,MACF,CAAC;AACH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Fragment } from 'react';
|
|
2
|
+
import { KnownToken } from "../../../tokens.js";
|
|
3
|
+
import { RegularHelmet } from "../utils/regular-helmet.js";
|
|
4
|
+
import { PAGE_FORMAT_PRIORITY } from "../constants.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Провайдер helmet-компонента. Этот компонент является контейнером для результата render-функции.
|
|
8
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
9
|
+
* @return Helmet-компонент.
|
|
10
|
+
*/
|
|
11
|
+
export function providePageHelmet(resolve) {
|
|
12
|
+
const config = resolve(KnownToken.Config.base);
|
|
13
|
+
const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);
|
|
14
|
+
return config.env === 'development' && acceptType(PAGE_FORMAT_PRIORITY) === 'html' ? RegularHelmet : Fragment;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=page-helmet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-helmet.js","names":["Fragment","KnownToken","RegularHelmet","PAGE_FORMAT_PRIORITY","providePageHelmet","resolve","config","Config","base","acceptType","Http","Handler","Request","env"],"sources":["../../../../../src/preset/server/providers/page-helmet.ts"],"sourcesContent":["import { Fragment } from 'react';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { RegularHelmet } from '../utils/regular-helmet';\nimport { PAGE_FORMAT_PRIORITY } from '../constants';\n\n/**\n * Провайдер helmet-компонента. Этот компонент является контейнером для результата render-функции.\n * @param resolve Функция для получения зависимости по токену.\n * @return Helmet-компонент.\n */\nexport function providePageHelmet(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);\n\n return config.env === 'development' && acceptType(PAGE_FORMAT_PRIORITY) === 'html'\n ? RegularHelmet\n : Fragment;\n}\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,SAASC,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,oBAAoB,QAAQ,iBAAc;;AAEnD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAgB,EAAE;EAClD,MAAMC,MAAM,GAAGD,OAAO,CAACJ,UAAU,CAACM,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGJ,OAAO,CAACJ,UAAU,CAACS,IAAI,CAACC,OAAO,CAACC,OAAO,CAACH,UAAU,CAAC;EAEtE,OAAOH,MAAM,CAACO,GAAG,KAAK,aAAa,IAAIJ,UAAU,CAACN,oBAAoB,CAAC,KAAK,MAAM,GAC9ED,aAAa,GACbF,QAAQ;AACd"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Провайдер render-функции.
|
|
4
|
+
* @return Render-Функция.
|
|
5
|
+
*/
|
|
6
|
+
export function providePageRender() {
|
|
7
|
+
return () => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h1", null, "Hello, world!"), /*#__PURE__*/React.createElement("p", null, "This is a stub page. Define the render component in your handler app"));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=page-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-render.js","names":["providePageRender","React","createElement","Fragment"],"sources":["../../../../../src/preset/server/providers/page-render.tsx"],"sourcesContent":["/**\n * Провайдер render-функции.\n * @return Render-Функция.\n */\nexport function providePageRender() {\n return () => (\n <>\n <h1>Hello, world!</h1>\n <p>This is a stub page. Define the render component in your handler app</p>\n </>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAO,SAASA,iBAAiBA,CAAA,EAAG;EAClC,OAAO,mBACLC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,qBACEF,KAAA,CAAAC,aAAA,aAAI,eAAiB,CAAC,eACtBD,KAAA,CAAAC,aAAA,YAAG,sEAAuE,CAC1E,CACH;AACH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KnownToken } from "../../../tokens.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Провайдер объекта подписки на события и вызова событий ответа.
|
|
5
|
+
* @param resolve Resolve.
|
|
6
|
+
* @return EventTarget.
|
|
7
|
+
*/
|
|
8
|
+
export function provideResponseEvents(resolve) {
|
|
9
|
+
const context = resolve(KnownToken.Http.Handler.context);
|
|
10
|
+
return context.events;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=response-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-events.js","names":["KnownToken","provideResponseEvents","resolve","context","Http","Handler","events"],"sources":["../../../../../src/preset/server/providers/response-events.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта подписки на события и вызова событий ответа.\n * @param resolve Resolve.\n * @return EventTarget.\n */\nexport function provideResponseEvents(resolve: Resolve): EventTarget {\n const context = resolve(KnownToken.Http.Handler.context);\n\n return context.events;\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACC,OAAgB,EAAe;EACnE,MAAMC,OAAO,GAAGD,OAAO,CAACF,UAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EAExD,OAAOA,OAAO,CAACG,MAAM;AACvB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SsrBridge } from "./../../../utils/ssr/index.js";
|
|
2
|
+
import { KnownToken } from "../../../tokens.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Провайдер серверной части "моста" для передачи данных между сервером и клиентом.
|
|
6
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
7
|
+
* @return Серверная часть "моста".
|
|
8
|
+
*/
|
|
9
|
+
export function provideSsrBridgeServerSide(resolve) {
|
|
10
|
+
const config = resolve(KnownToken.Config.base);
|
|
11
|
+
return SsrBridge.prepare(config.appName);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ssr-bridge-server-side.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr-bridge-server-side.js","names":["SsrBridge","KnownToken","provideSsrBridgeServerSide","resolve","config","Config","base","prepare","appName"],"sources":["../../../../../src/preset/server/providers/ssr-bridge-server-side.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { SsrBridge, BridgeServerSide } from '../../../utils/ssr';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер серверной части \"моста\" для передачи данных между сервером и клиентом.\n * @param resolve Функция для получения зависимости по токену.\n * @return Серверная часть \"моста\".\n */\nexport function provideSsrBridgeServerSide(resolve: Resolve): BridgeServerSide {\n const config = resolve(KnownToken.Config.base);\n\n return SsrBridge.prepare(config.appName);\n}\n"],"mappings":"AACA,SAASA,SAAS,QAA0B,+BAAoB;AAChE,SAASC,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAACC,OAAgB,EAAoB;EAC7E,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACC,IAAI,CAAC;EAE9C,OAAON,SAAS,CAACO,OAAO,CAACH,MAAM,CAACI,OAAO,CAAC;AAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/server/types.ts"],"sourcesContent":["import type { PageAssets } from '../isomorphic';\n\n/**\n * На сервере между промежуточными слоями надо обмениваться данными поэтому появился такой интерфейс.\n * Возможно в будущем он перейдет в `@krutoo/fetch-tools`.\n */\nexport interface ServerHandlerContext {\n events: EventTarget;\n}\n\nexport interface ServerHandler {\n (request: Request, context: ServerHandlerContext): Response | Promise<Response>;\n}\n\nexport interface ServerEnhancer {\n (request: ServerHandler): ServerHandler;\n}\n\nexport interface ServerMiddleware {\n (\n request: Request,\n next: (req: Request, ctx?: ServerHandlerContext) => Response | Promise<Response>,\n context: ServerHandlerContext,\n ): Response | Promise<Response>;\n}\n\nexport interface PageResponseFormatResult {\n body: string;\n headers: Headers;\n}\n\nexport interface PageResponseFormatter {\n (\n jsx: JSX.Element,\n assets: PageAssets,\n meta: unknown,\n ): PageResponseFormatResult | Promise<PageResponseFormatResult>;\n}\n\nexport interface RenderToString {\n (jsx: JSX.Element): string | Promise<string>;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Возвращает Enhancer который накидывает на обработчик промежуточные слои.
|
|
3
|
+
* В будущем может быть перенесен в `@krutoo/fetch-tools` в более абстрактном виде.
|
|
4
|
+
* @inheritdoc
|
|
5
|
+
*/
|
|
6
|
+
export function applyServerMiddleware(...list) {
|
|
7
|
+
return handler => {
|
|
8
|
+
let result = handler;
|
|
9
|
+
for (const item of list.reverse()) {
|
|
10
|
+
const next = result;
|
|
11
|
+
result = async (request, context) => item(request, (req, ctx) => next(req, ctx ?? context), context);
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=apply-server-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-server-middleware.js","names":["applyServerMiddleware","list","handler","result","item","reverse","next","request","context","req","ctx"],"sources":["../../../../../src/preset/server/utils/apply-server-middleware.ts"],"sourcesContent":["import type { ServerEnhancer, ServerMiddleware } from '../types';\n\n/**\n * Возвращает Enhancer который накидывает на обработчик промежуточные слои.\n * В будущем может быть перенесен в `@krutoo/fetch-tools` в более абстрактном виде.\n * @inheritdoc\n */\nexport function applyServerMiddleware(...list: ServerMiddleware[]): ServerEnhancer {\n return handler => {\n let result = handler;\n\n for (const item of list.reverse()) {\n const next = result;\n result = async (request, context) =>\n item(request, (req, ctx) => next(req, ctx ?? context), context);\n }\n\n return result;\n };\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAAC,GAAGC,IAAwB,EAAkB;EACjF,OAAOC,OAAO,IAAI;IAChB,IAAIC,MAAM,GAAGD,OAAO;IAEpB,KAAK,MAAME,IAAI,IAAIH,IAAI,CAACI,OAAO,CAAC,CAAC,EAAE;MACjC,MAAMC,IAAI,GAAGH,MAAM;MACnBA,MAAM,GAAG,MAAAA,CAAOI,OAAO,EAAEC,OAAO,KAC9BJ,IAAI,CAACG,OAAO,EAAE,CAACE,GAAG,EAAEC,GAAG,KAAKJ,IAAI,CAACG,GAAG,EAAEC,GAAG,IAAIF,OAAO,CAAC,EAAEA,OAAO,CAAC;IACnE;IAEA,OAAOL,MAAM;EACf,CAAC;AACH"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ResponseError } from "./../../../http/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Функция форматирования ошибки обработчика запроса.
|
|
4
|
+
* @param error Ошибка.
|
|
5
|
+
* @return Формат ответа и лога ошибки.
|
|
6
|
+
*/
|
|
7
|
+
export function formatHandlerError(error) {
|
|
8
|
+
let logLevel = 'error';
|
|
9
|
+
let message;
|
|
10
|
+
let statusCode = 500; // по умолчанию, если на этапе подготовки страницы что-то не так, отдаем 500
|
|
11
|
+
let redirectLocation = null;
|
|
12
|
+
if (error instanceof Error) {
|
|
13
|
+
message = error.message;
|
|
14
|
+
if (error instanceof ResponseError) {
|
|
15
|
+
statusCode = error.statusCode;
|
|
16
|
+
redirectLocation = error.redirectLocation;
|
|
17
|
+
logLevel = error.logLevel;
|
|
18
|
+
}
|
|
19
|
+
} else {
|
|
20
|
+
message = String(error);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
response: {
|
|
24
|
+
status: statusCode,
|
|
25
|
+
body: message,
|
|
26
|
+
redirectLocation
|
|
27
|
+
},
|
|
28
|
+
log: {
|
|
29
|
+
level: logLevel,
|
|
30
|
+
message
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=format-handler-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-handler-error.js","names":["ResponseError","formatHandlerError","error","logLevel","message","statusCode","redirectLocation","Error","String","response","status","body","log","level"],"sources":["../../../../../src/preset/server/utils/format-handler-error.ts"],"sourcesContent":["import { ResponseError } from '../../../http';\nimport { LogLevel } from '../../../log';\n\n/**\n * Функция форматирования ошибки обработчика запроса.\n * @param error Ошибка.\n * @return Формат ответа и лога ошибки.\n */\nexport function formatHandlerError(error: unknown) {\n let logLevel: LogLevel | null = 'error';\n let message: string;\n let statusCode = 500; // по умолчанию, если на этапе подготовки страницы что-то не так, отдаем 500\n let redirectLocation: string | null = null;\n\n if (error instanceof Error) {\n message = error.message;\n\n if (error instanceof ResponseError) {\n statusCode = error.statusCode;\n redirectLocation = error.redirectLocation;\n logLevel = error.logLevel;\n }\n } else {\n message = String(error);\n }\n\n return {\n response: {\n status: statusCode,\n body: message,\n redirectLocation,\n },\n log: {\n level: logLevel,\n message,\n },\n };\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,0BAAe;AAG7C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,KAAc,EAAE;EACjD,IAAIC,QAAyB,GAAG,OAAO;EACvC,IAAIC,OAAe;EACnB,IAAIC,UAAU,GAAG,GAAG,CAAC,CAAC;EACtB,IAAIC,gBAA+B,GAAG,IAAI;EAE1C,IAAIJ,KAAK,YAAYK,KAAK,EAAE;IAC1BH,OAAO,GAAGF,KAAK,CAACE,OAAO;IAEvB,IAAIF,KAAK,YAAYF,aAAa,EAAE;MAClCK,UAAU,GAAGH,KAAK,CAACG,UAAU;MAC7BC,gBAAgB,GAAGJ,KAAK,CAACI,gBAAgB;MACzCH,QAAQ,GAAGD,KAAK,CAACC,QAAQ;IAC3B;EACF,CAAC,MAAM;IACLC,OAAO,GAAGI,MAAM,CAACN,KAAK,CAAC;EACzB;EAEA,OAAO;IACLO,QAAQ,EAAE;MACRC,MAAM,EAAEL,UAAU;MAClBM,IAAI,EAAEP,OAAO;MACbE;IACF,CAAC;IACDM,GAAG,EAAE;MACHC,KAAK,EAAEV,QAAQ;MACfC;IACF;EACF,CAAC;AACH"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Вернет строку с IP на основе заголовков запроса.
|
|
3
|
+
* @param request Запрос.
|
|
4
|
+
* @return IP или null.
|
|
5
|
+
*/
|
|
6
|
+
export function getClientIp(request) {
|
|
7
|
+
const headerValue = request.headers.get('x-client-ip') || request.headers.get('x-forwarded-for');
|
|
8
|
+
return headerValue;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=get-client-ip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-client-ip.js","names":["getClientIp","request","headerValue","headers","get"],"sources":["../../../../../src/preset/server/utils/get-client-ip.ts"],"sourcesContent":["/**\n * Вернет строку с IP на основе заголовков запроса.\n * @param request Запрос.\n * @return IP или null.\n */\nexport function getClientIp(request: Request): string | null {\n const headerValue = request.headers.get('x-client-ip') || request.headers.get('x-forwarded-for');\n\n return headerValue;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,WAAWA,CAACC,OAAgB,EAAiB;EAC3D,MAAMC,WAAW,GAAGD,OAAO,CAACE,OAAO,CAACC,GAAG,CAAC,aAAa,CAAC,IAAIH,OAAO,CAACE,OAAO,CAACC,GAAG,CAAC,iBAAiB,CAAC;EAEhG,OAAOF,WAAW;AACpB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { SpanStatusCode } from '@opentelemetry/api';
|
|
2
|
+
import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
|
|
3
|
+
import { hideFirstId } from "../../isomorphic/utils/hide-first-id.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Вернет новый промежуточный слой трассировки для fetch.
|
|
7
|
+
* @param tracer Трассировщик.
|
|
8
|
+
* @param rootContext Контекст.
|
|
9
|
+
* @return Промежуточный слой трассировки.
|
|
10
|
+
*/
|
|
11
|
+
export function getFetchTracing(tracer, rootContext) {
|
|
12
|
+
return async (request, next) => {
|
|
13
|
+
const [url, foundId] = hideFirstId(new URL(request.url).pathname);
|
|
14
|
+
const span = tracer.startSpan(`HTTP ${request.method} ${url}`, undefined, rootContext);
|
|
15
|
+
span.setAttributes({
|
|
16
|
+
[SemanticAttributes.HTTP_URL]: url,
|
|
17
|
+
[SemanticAttributes.HTTP_METHOD]: request.method,
|
|
18
|
+
'request.params': JSON.stringify(new URL(request.url).searchParams),
|
|
19
|
+
'request.headers': JSON.stringify(request.headers),
|
|
20
|
+
// если нашли id - добавляем в теги
|
|
21
|
+
...(foundId && {
|
|
22
|
+
'request.id': foundId
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
try {
|
|
26
|
+
const response = await next(request);
|
|
27
|
+
span.end();
|
|
28
|
+
return response;
|
|
29
|
+
} catch (error) {
|
|
30
|
+
span.setStatus({
|
|
31
|
+
code: SpanStatusCode.ERROR,
|
|
32
|
+
message: 'HTTP Request failed'
|
|
33
|
+
});
|
|
34
|
+
span.end();
|
|
35
|
+
|
|
36
|
+
// не прячем ошибку
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=get-fetch-tracing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-fetch-tracing.js","names":["SpanStatusCode","SemanticAttributes","hideFirstId","getFetchTracing","tracer","rootContext","request","next","url","foundId","URL","pathname","span","startSpan","method","undefined","setAttributes","HTTP_URL","HTTP_METHOD","JSON","stringify","searchParams","headers","response","end","error","setStatus","code","ERROR","message"],"sources":["../../../../../src/preset/server/utils/get-fetch-tracing.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\nimport { SpanStatusCode, type Context, type Tracer } from '@opentelemetry/api';\nimport { SemanticAttributes } from '@opentelemetry/semantic-conventions';\nimport { hideFirstId } from '../../isomorphic/utils/hide-first-id';\n\n/**\n * Вернет новый промежуточный слой трассировки для fetch.\n * @param tracer Трассировщик.\n * @param rootContext Контекст.\n * @return Промежуточный слой трассировки.\n */\nexport function getFetchTracing(tracer: Tracer, rootContext: Context): Middleware {\n return async (request, next) => {\n const [url, foundId] = hideFirstId(new URL(request.url).pathname);\n const span = tracer.startSpan(`HTTP ${request.method} ${url}`, undefined, rootContext);\n\n span.setAttributes({\n [SemanticAttributes.HTTP_URL]: url,\n [SemanticAttributes.HTTP_METHOD]: request.method,\n 'request.params': JSON.stringify(new URL(request.url).searchParams),\n 'request.headers': JSON.stringify(request.headers),\n\n // если нашли id - добавляем в теги\n ...(foundId && { 'request.id': foundId }),\n });\n\n try {\n const response = await next(request);\n\n span.end();\n\n return response;\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: 'HTTP Request failed',\n });\n\n span.end();\n\n // не прячем ошибку\n throw error;\n }\n };\n}\n"],"mappings":"AACA,SAASA,cAAc,QAAmC,oBAAoB;AAC9E,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,WAAW,QAAQ,yCAAsC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAc,EAAEC,WAAoB,EAAc;EAChF,OAAO,OAAOC,OAAO,EAAEC,IAAI,KAAK;IAC9B,MAAM,CAACC,GAAG,EAAEC,OAAO,CAAC,GAAGP,WAAW,CAAC,IAAIQ,GAAG,CAACJ,OAAO,CAACE,GAAG,CAAC,CAACG,QAAQ,CAAC;IACjE,MAAMC,IAAI,GAAGR,MAAM,CAACS,SAAS,CAAE,QAAOP,OAAO,CAACQ,MAAO,IAAGN,GAAI,EAAC,EAAEO,SAAS,EAAEV,WAAW,CAAC;IAEtFO,IAAI,CAACI,aAAa,CAAC;MACjB,CAACf,kBAAkB,CAACgB,QAAQ,GAAGT,GAAG;MAClC,CAACP,kBAAkB,CAACiB,WAAW,GAAGZ,OAAO,CAACQ,MAAM;MAChD,gBAAgB,EAAEK,IAAI,CAACC,SAAS,CAAC,IAAIV,GAAG,CAACJ,OAAO,CAACE,GAAG,CAAC,CAACa,YAAY,CAAC;MACnE,iBAAiB,EAAEF,IAAI,CAACC,SAAS,CAACd,OAAO,CAACgB,OAAO,CAAC;MAElD;MACA,IAAIb,OAAO,IAAI;QAAE,YAAY,EAAEA;MAAQ,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI;MACF,MAAMc,QAAQ,GAAG,MAAMhB,IAAI,CAACD,OAAO,CAAC;MAEpCM,IAAI,CAACY,GAAG,CAAC,CAAC;MAEV,OAAOD,QAAQ;IACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdb,IAAI,CAACc,SAAS,CAAC;QACbC,IAAI,EAAE3B,cAAc,CAAC4B,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFjB,IAAI,CAACY,GAAG,CAAC,CAAC;;MAEV;MACA,MAAMC,KAAK;IACb;EACF,CAAC;AACH"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getClientIp } from "./get-client-ip.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Вернет заголовки, которые должны содержаться в исходящих http-запросах при обработке входящего http-запроса.
|
|
5
|
+
* @param config Конфигурация.
|
|
6
|
+
* @param request Входящий запрос.
|
|
7
|
+
* @return Заголовки.
|
|
8
|
+
*/
|
|
9
|
+
export function getForwardedHeaders(config, request) {
|
|
10
|
+
const result = new Headers();
|
|
11
|
+
|
|
12
|
+
// user agent
|
|
13
|
+
result.set('User-Agent', `simaland-${config.appName}/${config.appVersion}`);
|
|
14
|
+
|
|
15
|
+
// client ip
|
|
16
|
+
const clientIp = getClientIp(request);
|
|
17
|
+
if (clientIp) {
|
|
18
|
+
result.set('X-Client-Ip', clientIp);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// service headers
|
|
22
|
+
request.headers.forEach((headerValue, headerName) => {
|
|
23
|
+
if (headerName.toLowerCase().startsWith('simaland-') && headerName.toLowerCase() !== 'simaland-params') {
|
|
24
|
+
result.set(headerName, headerValue);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=get-forwarded-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-forwarded-headers.js","names":["getClientIp","getForwardedHeaders","config","request","result","Headers","set","appName","appVersion","clientIp","headers","forEach","headerValue","headerName","toLowerCase","startsWith"],"sources":["../../../../../src/preset/server/utils/get-forwarded-headers.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Вернет заголовки, которые должны содержаться в исходящих http-запросах при обработке входящего http-запроса.\n * @param config Конфигурация.\n * @param request Входящий запрос.\n * @return Заголовки.\n */\nexport function getForwardedHeaders(config: BaseConfig, request: Request): Headers {\n const result = new Headers();\n\n // user agent\n result.set('User-Agent', `simaland-${config.appName}/${config.appVersion}`);\n\n // client ip\n const clientIp = getClientIp(request);\n\n if (clientIp) {\n result.set('X-Client-Ip', clientIp);\n }\n\n // service headers\n request.headers.forEach((headerValue, headerName) => {\n if (\n headerName.toLowerCase().startsWith('simaland-') &&\n headerName.toLowerCase() !== 'simaland-params'\n ) {\n result.set(headerName, headerValue);\n }\n });\n\n return result;\n}\n"],"mappings":"AACA,SAASA,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,MAAkB,EAAEC,OAAgB,EAAW;EACjF,MAAMC,MAAM,GAAG,IAAIC,OAAO,CAAC,CAAC;;EAE5B;EACAD,MAAM,CAACE,GAAG,CAAC,YAAY,EAAG,YAAWJ,MAAM,CAACK,OAAQ,IAAGL,MAAM,CAACM,UAAW,EAAC,CAAC;;EAE3E;EACA,MAAMC,QAAQ,GAAGT,WAAW,CAACG,OAAO,CAAC;EAErC,IAAIM,QAAQ,EAAE;IACZL,MAAM,CAACE,GAAG,CAAC,aAAa,EAAEG,QAAQ,CAAC;EACrC;;EAEA;EACAN,OAAO,CAACO,OAAO,CAACC,OAAO,CAAC,CAACC,WAAW,EAAEC,UAAU,KAAK;IACnD,IACEA,UAAU,CAACC,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,IAChDF,UAAU,CAACC,WAAW,CAAC,CAAC,KAAK,iBAAiB,EAC9C;MACAV,MAAM,CAACE,GAAG,CAACO,UAAU,EAAED,WAAW,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,OAAOR,MAAM;AACf"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import PromClient from 'prom-client';
|
|
2
|
+
export const LABEL_NAMES = {
|
|
3
|
+
httpResponse: ['version', 'route', 'code', 'method'],
|
|
4
|
+
pageRender: ['version', 'route', 'method']
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Возвращает метрики обработки входящего http-запроса.
|
|
9
|
+
* @return Метрики.
|
|
10
|
+
*/
|
|
11
|
+
export function getHandlerMetrics() {
|
|
12
|
+
const requestCount = new PromClient.Counter({
|
|
13
|
+
name: 'http_request_count',
|
|
14
|
+
help: 'Incoming HTTP request count',
|
|
15
|
+
labelNames: LABEL_NAMES.httpResponse
|
|
16
|
+
});
|
|
17
|
+
const responseDuration = new PromClient.Histogram({
|
|
18
|
+
name: 'http_response_duration_ms',
|
|
19
|
+
help: 'Duration of incoming HTTP requests in ms',
|
|
20
|
+
labelNames: LABEL_NAMES.httpResponse,
|
|
21
|
+
buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000]
|
|
22
|
+
});
|
|
23
|
+
const renderDuration = new PromClient.Histogram({
|
|
24
|
+
name: 'render_duration_ms',
|
|
25
|
+
help: 'Duration of SSR ms',
|
|
26
|
+
labelNames: LABEL_NAMES.pageRender,
|
|
27
|
+
buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500]
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
requestCount,
|
|
31
|
+
renderDuration,
|
|
32
|
+
responseDuration
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=get-handler-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-handler-metrics.js","names":["PromClient","LABEL_NAMES","httpResponse","pageRender","getHandlerMetrics","requestCount","Counter","name","help","labelNames","responseDuration","Histogram","buckets","renderDuration"],"sources":["../../../../../src/preset/server/utils/get-handler-metrics.ts"],"sourcesContent":["import PromClient from 'prom-client';\n\nexport const LABEL_NAMES = {\n httpResponse: ['version', 'route', 'code', 'method'],\n pageRender: ['version', 'route', 'method'],\n} as const;\n\n/**\n * Возвращает метрики обработки входящего http-запроса.\n * @return Метрики.\n */\nexport function getHandlerMetrics() {\n const requestCount = new PromClient.Counter({\n name: 'http_request_count',\n help: 'Incoming HTTP request count',\n labelNames: LABEL_NAMES.httpResponse,\n });\n\n const responseDuration = new PromClient.Histogram({\n name: 'http_response_duration_ms',\n help: 'Duration of incoming HTTP requests in ms',\n labelNames: LABEL_NAMES.httpResponse,\n buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000],\n });\n\n const renderDuration = new PromClient.Histogram({\n name: 'render_duration_ms',\n help: 'Duration of SSR ms',\n labelNames: LABEL_NAMES.pageRender,\n buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500],\n });\n\n return {\n requestCount,\n renderDuration,\n responseDuration,\n };\n}\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,aAAa;AAEpC,OAAO,MAAMC,WAAW,GAAG;EACzBC,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;EACpDC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ;AAC3C,CAAU;;AAEV;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,YAAY,GAAG,IAAIL,UAAU,CAACM,OAAO,CAAC;IAC1CC,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,6BAA6B;IACnCC,UAAU,EAAER,WAAW,CAACC;EAC1B,CAAC,CAAC;EAEF,MAAMQ,gBAAgB,GAAG,IAAIV,UAAU,CAACW,SAAS,CAAC;IAChDJ,IAAI,EAAE,2BAA2B;IACjCC,IAAI,EAAE,0CAA0C;IAChDC,UAAU,EAAER,WAAW,CAACC,YAAY;IACpCU,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;EACtD,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,IAAIb,UAAU,CAACW,SAAS,CAAC;IAC9CJ,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,oBAAoB;IAC1BC,UAAU,EAAER,WAAW,CAACE,UAAU;IAClCS,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;EACjD,CAAC,CAAC;EAEF,OAAO;IACLP,YAAY;IACZQ,cAAc;IACdH;EACF,CAAC;AACH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Возвращает новый обработчик входящих запросов.
|
|
3
|
+
* Обработчик возвращает ответ в формате JSON, тело - объект с полем "uptime" типа number.
|
|
4
|
+
* @return Обработчик.
|
|
5
|
+
*/
|
|
6
|
+
export function getHealthCheck() {
|
|
7
|
+
const startTime = Date.now();
|
|
8
|
+
return () => new Response(JSON.stringify({
|
|
9
|
+
uptime: Date.now() - startTime
|
|
10
|
+
}), {
|
|
11
|
+
headers: {
|
|
12
|
+
'content-type': 'application/json'
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=get-health-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-health-check.js","names":["getHealthCheck","startTime","Date","now","Response","JSON","stringify","uptime","headers"],"sources":["../../../../../src/preset/server/utils/get-health-check.ts"],"sourcesContent":["import type { Handler } from '../../../http';\n\n/**\n * Возвращает новый обработчик входящих запросов.\n * Обработчик возвращает ответ в формате JSON, тело - объект с полем \"uptime\" типа number.\n * @return Обработчик.\n */\nexport function getHealthCheck(): Handler {\n const startTime = Date.now();\n\n return () =>\n new Response(JSON.stringify({ uptime: Date.now() - startTime }), {\n headers: {\n 'content-type': 'application/json',\n },\n });\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,cAAcA,CAAA,EAAY;EACxC,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EAE5B,OAAO,MACL,IAAIC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAAC;IAAEC,MAAM,EAAEL,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF;EAAU,CAAC,CAAC,EAAE;IAC/DO,OAAO,EAAE;MACP,cAAc,EAAE;IAClB;EACF,CAAC,CAAC;AACN"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Определяет формат ответа для страницы (html-верстки).
|
|
3
|
+
* Вернет "json" - если заголовок запроса "accept" содержит "application/json".
|
|
4
|
+
* Вернет "html" во всех остальных случаях.
|
|
5
|
+
* @param request Запрос.
|
|
6
|
+
* @return Формат.
|
|
7
|
+
*/
|
|
8
|
+
export function getPageResponseFormat(request) {
|
|
9
|
+
let result = 'html';
|
|
10
|
+
if ((request.headers.get('accept') || '').toLowerCase().includes('application/json')) {
|
|
11
|
+
result = 'json';
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=get-page-response-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-page-response-format.js","names":["getPageResponseFormat","request","result","headers","get","toLowerCase","includes"],"sources":["../../../../../src/preset/server/utils/get-page-response-format.ts"],"sourcesContent":["/**\n * Определяет формат ответа для страницы (html-верстки).\n * Вернет \"json\" - если заголовок запроса \"accept\" содержит \"application/json\".\n * Вернет \"html\" во всех остальных случаях.\n * @param request Запрос.\n * @return Формат.\n */\nexport function getPageResponseFormat(request: Request): 'html' | 'json' {\n let result: 'html' | 'json' = 'html';\n\n if ((request.headers.get('accept') || '').toLowerCase().includes('application/json')) {\n result = 'json';\n }\n\n return result;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAACC,OAAgB,EAAmB;EACvE,IAAIC,MAAuB,GAAG,MAAM;EAEpC,IAAI,CAACD,OAAO,CAACE,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IACpFJ,MAAM,GAAG,MAAM;EACjB;EAEA,OAAOA,MAAM;AACf"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FetchUtil, log } from "./../../../http/index.js";
|
|
2
|
+
import { DetailedError } from "./../../../log/index.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Возвращает новый промежуточный слой для логирования ошибки при обработке входящего http-запроса.
|
|
6
|
+
* @param logger Logger.
|
|
7
|
+
* @return Промежуточный слой.
|
|
8
|
+
*/
|
|
9
|
+
export function getServeErrorLogging(logger) {
|
|
10
|
+
return log({
|
|
11
|
+
onCatch: ({
|
|
12
|
+
request,
|
|
13
|
+
error
|
|
14
|
+
}) => {
|
|
15
|
+
logger.error(new DetailedError(String(error), {
|
|
16
|
+
level: 'error',
|
|
17
|
+
context: [{
|
|
18
|
+
key: 'Incoming request details',
|
|
19
|
+
data: {
|
|
20
|
+
url: FetchUtil.withoutParams(request.url),
|
|
21
|
+
method: request.method,
|
|
22
|
+
headers: Object.fromEntries(request.headers.entries()),
|
|
23
|
+
params: Object.fromEntries(new URL(request.url).searchParams.entries())
|
|
24
|
+
// @todo data
|
|
25
|
+
}
|
|
26
|
+
}]
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=get-serve-error-logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-serve-error-logging.js","names":["FetchUtil","log","DetailedError","getServeErrorLogging","logger","onCatch","request","error","String","level","context","key","data","url","withoutParams","method","headers","Object","fromEntries","entries","params","URL","searchParams"],"sources":["../../../../../src/preset/server/utils/get-serve-error-logging.ts"],"sourcesContent":["import { FetchUtil, log, type Middleware } from '../../../http';\nimport { DetailedError, type Logger } from '../../../log';\n\n/**\n * Возвращает новый промежуточный слой для логирования ошибки при обработке входящего http-запроса.\n * @param logger Logger.\n * @return Промежуточный слой.\n */\nexport function getServeErrorLogging(logger: Logger): Middleware {\n return log({\n onCatch: ({ request, error }) => {\n logger.error(\n new DetailedError(String(error), {\n level: 'error',\n context: [\n {\n key: 'Incoming request details',\n data: {\n url: FetchUtil.withoutParams(request.url),\n method: request.method,\n headers: Object.fromEntries(request.headers.entries()),\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n // @todo data\n },\n },\n ],\n }),\n );\n },\n });\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,GAAG,QAAyB,0BAAe;AAC/D,SAASC,aAAa,QAAqB,yBAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,MAAc,EAAc;EAC/D,OAAOH,GAAG,CAAC;IACTI,OAAO,EAAEA,CAAC;MAAEC,OAAO;MAAEC;IAAM,CAAC,KAAK;MAC/BH,MAAM,CAACG,KAAK,CACV,IAAIL,aAAa,CAACM,MAAM,CAACD,KAAK,CAAC,EAAE;QAC/BE,KAAK,EAAE,OAAO;QACdC,OAAO,EAAE,CACP;UACEC,GAAG,EAAE,0BAA0B;UAC/BC,IAAI,EAAE;YACJC,GAAG,EAAEb,SAAS,CAACc,aAAa,CAACR,OAAO,CAACO,GAAG,CAAC;YACzCE,MAAM,EAAET,OAAO,CAACS,MAAM;YACtBC,OAAO,EAAEC,MAAM,CAACC,WAAW,CAACZ,OAAO,CAACU,OAAO,CAACG,OAAO,CAAC,CAAC,CAAC;YACtDC,MAAM,EAAEH,MAAM,CAACC,WAAW,CAAC,IAAIG,GAAG,CAACf,OAAO,CAACO,GAAG,CAAC,CAACS,YAAY,CAACH,OAAO,CAAC,CAAC;YACtE;UACF;QACF,CAAC;MAEL,CAAC,CACH,CAAC;IACH;EACF,CAAC,CAAC;AACJ"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { toMilliseconds } from "./../../../utils/index.js";
|
|
2
|
+
import { getClientIp } from "./get-client-ip.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Возвращает новый промежуточный слой для логирования обработки входящего http-запроса.
|
|
6
|
+
* @param logger Logger.
|
|
7
|
+
* @return Промежуточный слой.
|
|
8
|
+
*/
|
|
9
|
+
export function getServeLogging(logger) {
|
|
10
|
+
return async (request, next) => {
|
|
11
|
+
const start = process.hrtime.bigint();
|
|
12
|
+
const clientIp = getClientIp(request);
|
|
13
|
+
logger.info({
|
|
14
|
+
type: 'http.request[incoming]',
|
|
15
|
+
route: request.url,
|
|
16
|
+
method: request.method,
|
|
17
|
+
remote_ip: clientIp
|
|
18
|
+
});
|
|
19
|
+
const response = await next(request);
|
|
20
|
+
const finish = process.hrtime.bigint();
|
|
21
|
+
logger.info({
|
|
22
|
+
type: 'http.response[outgoing]',
|
|
23
|
+
route: request.url,
|
|
24
|
+
method: request.method,
|
|
25
|
+
status: response.status,
|
|
26
|
+
remote_ip: clientIp,
|
|
27
|
+
latency: toMilliseconds(finish - start)
|
|
28
|
+
});
|
|
29
|
+
return response;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=get-serve-logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-serve-logging.js","names":["toMilliseconds","getClientIp","getServeLogging","logger","request","next","start","process","hrtime","bigint","clientIp","info","type","route","url","method","remote_ip","response","finish","status","latency"],"sources":["../../../../../src/preset/server/utils/get-serve-logging.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\nimport type { Logger } from '../../../log';\nimport { toMilliseconds } from '../../../utils';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Возвращает новый промежуточный слой для логирования обработки входящего http-запроса.\n * @param logger Logger.\n * @return Промежуточный слой.\n */\nexport function getServeLogging(logger: Logger): Middleware {\n return async (request, next) => {\n const start = process.hrtime.bigint();\n const clientIp = getClientIp(request);\n\n logger.info({\n type: 'http.request[incoming]',\n route: request.url,\n method: request.method,\n remote_ip: clientIp,\n });\n\n const response = await next(request);\n\n const finish = process.hrtime.bigint();\n\n logger.info({\n type: 'http.response[outgoing]',\n route: request.url,\n method: request.method,\n status: response.status,\n remote_ip: clientIp,\n latency: toMilliseconds(finish - start),\n });\n\n return response;\n };\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ,2BAAgB;AAC/C,SAASC,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAc,EAAc;EAC1D,OAAO,OAAOC,OAAO,EAAEC,IAAI,KAAK;IAC9B,MAAMC,KAAK,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAGT,WAAW,CAACG,OAAO,CAAC;IAErCD,MAAM,CAACQ,IAAI,CAAC;MACVC,IAAI,EAAE,wBAAwB;MAC9BC,KAAK,EAAET,OAAO,CAACU,GAAG;MAClBC,MAAM,EAAEX,OAAO,CAACW,MAAM;MACtBC,SAAS,EAAEN;IACb,CAAC,CAAC;IAEF,MAAMO,QAAQ,GAAG,MAAMZ,IAAI,CAACD,OAAO,CAAC;IAEpC,MAAMc,MAAM,GAAGX,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAEtCN,MAAM,CAACQ,IAAI,CAAC;MACVC,IAAI,EAAE,yBAAyB;MAC/BC,KAAK,EAAET,OAAO,CAACU,GAAG;MAClBC,MAAM,EAAEX,OAAO,CAACW,MAAM;MACtBI,MAAM,EAAEF,QAAQ,CAACE,MAAM;MACvBH,SAAS,EAAEN,QAAQ;MACnBU,OAAO,EAAEpB,cAAc,CAACkB,MAAM,GAAGZ,KAAK;IACxC,CAAC,CAAC;IAEF,OAAOW,QAAQ;EACjB,CAAC;AACH"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { PAGE_HANDLER_EVENT_TYPE } from "../constants.js";
|
|
2
|
+
import { toMilliseconds } from "./../../../utils/index.js";
|
|
3
|
+
import { getHandlerMetrics } from "./get-handler-metrics.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Возвращает новый промежуточный слой метрки входящего http-запроса.
|
|
7
|
+
* @param config Конфигурация.
|
|
8
|
+
* @return Промежуточный слой.
|
|
9
|
+
*/
|
|
10
|
+
export function getServeMeasuring(config) {
|
|
11
|
+
const {
|
|
12
|
+
requestCount,
|
|
13
|
+
renderDuration,
|
|
14
|
+
responseDuration
|
|
15
|
+
} = getHandlerMetrics();
|
|
16
|
+
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
const getResponseLabels = (req, res) => ({
|
|
19
|
+
version: config.appVersion,
|
|
20
|
+
route: req.url,
|
|
21
|
+
code: res.status,
|
|
22
|
+
method: req.method
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
const getRenderLabels = request => ({
|
|
27
|
+
version: config.appVersion,
|
|
28
|
+
method: request.method,
|
|
29
|
+
route: request.url
|
|
30
|
+
});
|
|
31
|
+
return async (request, next, context) => {
|
|
32
|
+
const responseStart = process.hrtime.bigint();
|
|
33
|
+
let renderStart = 0n;
|
|
34
|
+
context.events.addEventListener(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {
|
|
35
|
+
renderStart = process.hrtime.bigint();
|
|
36
|
+
}, {
|
|
37
|
+
once: true
|
|
38
|
+
});
|
|
39
|
+
context.events.addEventListener(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {
|
|
40
|
+
const renderFinish = process.hrtime.bigint();
|
|
41
|
+
renderDuration.observe(getRenderLabels(request), toMilliseconds(renderFinish - renderStart));
|
|
42
|
+
}, {
|
|
43
|
+
once: true
|
|
44
|
+
});
|
|
45
|
+
const response = await next(request);
|
|
46
|
+
const responseFinish = process.hrtime.bigint();
|
|
47
|
+
responseDuration.observe(getResponseLabels(request, response), toMilliseconds(responseFinish - responseStart));
|
|
48
|
+
requestCount.inc(getResponseLabels(request, response), 1);
|
|
49
|
+
return response;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=get-serve-measuring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-serve-measuring.js","names":["PAGE_HANDLER_EVENT_TYPE","toMilliseconds","getHandlerMetrics","getServeMeasuring","config","requestCount","renderDuration","responseDuration","getResponseLabels","req","res","version","appVersion","route","url","code","status","method","getRenderLabels","request","next","context","responseStart","process","hrtime","bigint","renderStart","events","addEventListener","once","renderFinish","observe","response","responseFinish","inc"],"sources":["../../../../../src/preset/server/utils/get-serve-measuring.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport type { ServerMiddleware } from '../types';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../constants';\nimport { toMilliseconds } from '../../../utils';\nimport { LABEL_NAMES, getHandlerMetrics } from './get-handler-metrics';\n\n/**\n * Возвращает новый промежуточный слой метрки входящего http-запроса.\n * @param config Конфигурация.\n * @return Промежуточный слой.\n */\nexport function getServeMeasuring(config: BaseConfig): ServerMiddleware {\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /** @inheritdoc */\n const getResponseLabels = (req: Request, res: Response) =>\n ({\n version: config.appVersion,\n route: req.url,\n code: res.status,\n method: req.method,\n }) satisfies Record<(typeof LABEL_NAMES.httpResponse)[number], string | number>;\n\n /** @inheritdoc */\n const getRenderLabels = (request: Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return async (request, next, context) => {\n const responseStart = process.hrtime.bigint();\n let renderStart = 0n;\n\n context.events.addEventListener(\n PAGE_HANDLER_EVENT_TYPE.renderStart,\n () => {\n renderStart = process.hrtime.bigint();\n },\n { once: true },\n );\n\n context.events.addEventListener(\n PAGE_HANDLER_EVENT_TYPE.renderFinish,\n () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(\n getRenderLabels(request),\n toMilliseconds(renderFinish - renderStart),\n );\n },\n { once: true },\n );\n\n const response = await next(request);\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(\n getResponseLabels(request, response),\n toMilliseconds(responseFinish - responseStart),\n );\n\n requestCount.inc(getResponseLabels(request, response), 1);\n\n return response;\n };\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ,iBAAc;AACtD,SAASC,cAAc,QAAQ,2BAAgB;AAC/C,SAAsBC,iBAAiB,QAAQ,0BAAuB;;AAEtE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAkB,EAAoB;EACtE,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAGL,iBAAiB,CAAC,CAAC;;EAE9E;EACA,MAAMM,iBAAiB,GAAGA,CAACC,GAAY,EAAEC,GAAa,MACnD;IACCC,OAAO,EAAEP,MAAM,CAACQ,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,GAAG;IACdC,IAAI,EAAEL,GAAG,CAACM,MAAM;IAChBC,MAAM,EAAER,GAAG,CAACQ;EACd,CAAC,CAA8E;;EAEjF;EACA,MAAMC,eAAe,GAAIC,OAAgB,KACtC;IACCR,OAAO,EAAEP,MAAM,CAACQ,UAAU;IAC1BK,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBJ,KAAK,EAAEM,OAAO,CAACL;EACjB,CAAC,CAA4E;EAE/E,OAAO,OAAOK,OAAO,EAAEC,IAAI,EAAEC,OAAO,KAAK;IACvC,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAC7C,IAAIC,WAAW,GAAG,EAAE;IAEpBL,OAAO,CAACM,MAAM,CAACC,gBAAgB,CAC7B5B,uBAAuB,CAAC0B,WAAW,EACnC,MAAM;MACJA,WAAW,GAAGH,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACvC,CAAC,EACD;MAAEI,IAAI,EAAE;IAAK,CACf,CAAC;IAEDR,OAAO,CAACM,MAAM,CAACC,gBAAgB,CAC7B5B,uBAAuB,CAAC8B,YAAY,EACpC,MAAM;MACJ,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE5CnB,cAAc,CAACyB,OAAO,CACpBb,eAAe,CAACC,OAAO,CAAC,EACxBlB,cAAc,CAAC6B,YAAY,GAAGJ,WAAW,CAC3C,CAAC;IACH,CAAC,EACD;MAAEG,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMG,QAAQ,GAAG,MAAMZ,IAAI,CAACD,OAAO,CAAC;IACpC,MAAMc,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE9ClB,gBAAgB,CAACwB,OAAO,CACtBvB,iBAAiB,CAACW,OAAO,EAAEa,QAAQ,CAAC,EACpC/B,cAAc,CAACgC,cAAc,GAAGX,aAAa,CAC/C,CAAC;IAEDjB,YAAY,CAAC6B,GAAG,CAAC1B,iBAAiB,CAACW,OAAO,EAAEa,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzD,OAAOA,QAAQ;EACjB,CAAC;AACH"}
|