@morojs/moro 1.8.0 → 1.8.2
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/README.md +29 -38
- package/dist/core/auth/morojs-adapter.js +95 -45
- package/dist/core/auth/morojs-adapter.js.map +1 -1
- package/dist/core/config/config-manager.js.map +1 -1
- package/dist/core/config/config-sources.js +8 -49
- package/dist/core/config/config-sources.js.map +1 -1
- package/dist/core/config/config-validator.js +2 -3
- package/dist/core/config/config-validator.js.map +1 -1
- package/dist/core/config/file-loader.js.map +1 -1
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/schema.js +4 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/utils.js.map +1 -1
- package/dist/core/database/adapters/drizzle.js +2 -2
- package/dist/core/database/adapters/drizzle.js.map +1 -1
- package/dist/core/database/adapters/index.js.map +1 -1
- package/dist/core/database/adapters/mongodb.d.ts +1 -0
- package/dist/core/database/adapters/mongodb.js +16 -0
- package/dist/core/database/adapters/mongodb.js.map +1 -1
- package/dist/core/database/adapters/mysql.d.ts +1 -0
- package/dist/core/database/adapters/mysql.js +13 -2
- package/dist/core/database/adapters/mysql.js.map +1 -1
- package/dist/core/database/adapters/postgresql.js +2 -2
- package/dist/core/database/adapters/postgresql.js.map +1 -1
- package/dist/core/database/adapters/redis.js.map +1 -1
- package/dist/core/database/adapters/sql-safety.js +5 -4
- package/dist/core/database/adapters/sql-safety.js.map +1 -1
- package/dist/core/database/adapters/sqlite.js.map +1 -1
- package/dist/core/database/index.js.map +1 -1
- package/dist/core/docs/index.js +11 -7
- package/dist/core/docs/index.js.map +1 -1
- package/dist/core/docs/openapi-generator.js +8 -6
- package/dist/core/docs/openapi-generator.js.map +1 -1
- package/dist/core/docs/schema-to-openapi.js +3 -3
- package/dist/core/docs/schema-to-openapi.js.map +1 -1
- package/dist/core/docs/simple-docs.js.map +1 -1
- package/dist/core/docs/swagger-ui.js.map +1 -1
- package/dist/core/docs/zod-to-openapi.js +2 -2
- package/dist/core/docs/zod-to-openapi.js.map +1 -1
- package/dist/core/events/event-bus.js +14 -5
- package/dist/core/events/event-bus.js.map +1 -1
- package/dist/core/events/index.js.map +1 -1
- package/dist/core/framework.d.ts +2 -2
- package/dist/core/framework.js +21 -14
- package/dist/core/framework.js.map +1 -1
- package/dist/core/graphql/adapter.js.map +1 -1
- package/dist/core/graphql/adapters/graphql-js-adapter.js.map +1 -1
- package/dist/core/graphql/core.js.map +1 -1
- package/dist/core/graphql/index.js.map +1 -1
- package/dist/core/graphql/loader.js.map +1 -1
- package/dist/core/graphql/types.js.map +1 -1
- package/dist/core/grpc/adapters/grpc-js-adapter.js +4 -0
- package/dist/core/grpc/adapters/grpc-js-adapter.js.map +1 -1
- package/dist/core/grpc/adapters/index.js.map +1 -1
- package/dist/core/grpc/grpc-adapter.js.map +1 -1
- package/dist/core/grpc/grpc-manager.js.map +1 -1
- package/dist/core/grpc/index.js.map +1 -1
- package/dist/core/grpc/middleware/auth.js +1 -1
- package/dist/core/grpc/middleware/auth.js.map +1 -1
- package/dist/core/grpc/middleware/logging.js.map +1 -1
- package/dist/core/grpc/middleware/validation.js +1 -1
- package/dist/core/grpc/middleware/validation.js.map +1 -1
- package/dist/core/grpc/types.d.ts +7 -7
- package/dist/core/grpc/types.js.map +1 -1
- package/dist/core/http/http-server.d.ts +0 -13
- package/dist/core/http/http-server.js +34 -141
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/http2-server.js +27 -5
- package/dist/core/http/http2-server.js.map +1 -1
- package/dist/core/http/index.js.map +1 -1
- package/dist/core/http/moro-engine-server.d.ts +2 -2
- package/dist/core/http/moro-engine-server.js +48 -22
- package/dist/core/http/moro-engine-server.js.map +1 -1
- package/dist/core/http/utils/compression.js +3 -3
- package/dist/core/http/utils/compression.js.map +1 -1
- package/dist/core/http/utils/lazy-event-emitter.js.map +1 -1
- package/dist/core/http/utils/multipart-parser.js +7 -3
- package/dist/core/http/utils/multipart-parser.js.map +1 -1
- package/dist/core/http/utils/query-parser.js.map +1 -1
- package/dist/core/http/utils/size.js +2 -2
- package/dist/core/http/utils/size.js.map +1 -1
- package/dist/core/http/utils/ssl-config.d.ts +10 -10
- package/dist/core/http/utils/ssl-config.js.map +1 -1
- package/dist/core/http/utils/uws-worker-clustering.js +37 -30
- package/dist/core/http/utils/uws-worker-clustering.js.map +1 -1
- package/dist/core/http/uws-http-server.d.ts +1 -0
- package/dist/core/http/uws-http-server.js +80 -22
- package/dist/core/http/uws-http-server.js.map +1 -1
- package/dist/core/jobs/cron-parser.js +7 -5
- package/dist/core/jobs/cron-parser.js.map +1 -1
- package/dist/core/jobs/index.js.map +1 -1
- package/dist/core/jobs/job-executor.d.ts +1 -1
- package/dist/core/jobs/job-executor.js.map +1 -1
- package/dist/core/jobs/job-scheduler.d.ts +3 -3
- package/dist/core/jobs/job-scheduler.js.map +1 -1
- package/dist/core/jobs/job-state-manager.d.ts +3 -3
- package/dist/core/jobs/job-state-manager.js +25 -4
- package/dist/core/jobs/job-state-manager.js.map +1 -1
- package/dist/core/jobs/leader-election.d.ts +15 -0
- package/dist/core/jobs/leader-election.js +158 -69
- package/dist/core/jobs/leader-election.js.map +1 -1
- package/dist/core/jobs/types.d.ts +4 -4
- package/dist/core/jobs/types.js.map +1 -1
- package/dist/core/jobs/utils.d.ts +1 -1
- package/dist/core/jobs/utils.js +7 -3
- package/dist/core/jobs/utils.js.map +1 -1
- package/dist/core/logger/filters.js +3 -2
- package/dist/core/logger/filters.js.map +1 -1
- package/dist/core/logger/index.js.map +1 -1
- package/dist/core/logger/logger.js +56 -25
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/logger/outputs.js.map +1 -1
- package/dist/core/mail/adapters/console-adapter.js.map +1 -1
- package/dist/core/mail/adapters/index.js.map +1 -1
- package/dist/core/mail/adapters/nodemailer-adapter.js.map +1 -1
- package/dist/core/mail/adapters/resend-adapter.js.map +1 -1
- package/dist/core/mail/adapters/sendgrid-adapter.js.map +1 -1
- package/dist/core/mail/adapters/ses-adapter.js.map +1 -1
- package/dist/core/mail/index.js.map +1 -1
- package/dist/core/mail/mail-adapter.js.map +1 -1
- package/dist/core/mail/mail-manager.d.ts +10 -0
- package/dist/core/mail/mail-manager.js +21 -5
- package/dist/core/mail/mail-manager.js.map +1 -1
- package/dist/core/mail/template-engine.js.map +1 -1
- package/dist/core/mail/types.js.map +1 -1
- package/dist/core/middleware/built-in/auth/core.js +3 -3
- package/dist/core/middleware/built-in/auth/core.js.map +1 -1
- package/dist/core/middleware/built-in/auth/helpers.js +4 -4
- package/dist/core/middleware/built-in/auth/helpers.js.map +1 -1
- package/dist/core/middleware/built-in/auth/hook.js.map +1 -1
- package/dist/core/middleware/built-in/auth/index.js.map +1 -1
- package/dist/core/middleware/built-in/auth/jwt-helpers.d.ts +4 -4
- package/dist/core/middleware/built-in/auth/jwt-helpers.js.map +1 -1
- package/dist/core/middleware/built-in/auth/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/auth/providers.js.map +1 -1
- package/dist/core/middleware/built-in/body-parsers/index.js.map +1 -1
- package/dist/core/middleware/built-in/body-size/core.js +2 -2
- package/dist/core/middleware/built-in/body-size/core.js.map +1 -1
- package/dist/core/middleware/built-in/body-size/hook.js.map +1 -1
- package/dist/core/middleware/built-in/body-size/index.js.map +1 -1
- package/dist/core/middleware/built-in/body-size/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/file.js +3 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/file.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/index.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/memory.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/redis.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/index.js.map +1 -1
- package/dist/core/middleware/built-in/cache/core.js.map +1 -1
- package/dist/core/middleware/built-in/cache/hook.js +3 -3
- package/dist/core/middleware/built-in/cache/hook.js.map +1 -1
- package/dist/core/middleware/built-in/cache/index.js.map +1 -1
- package/dist/core/middleware/built-in/cache/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/cdn/azure.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudflare.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudfront.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/cdn/index.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/index.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/core.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/hook.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/index.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/compression/core.js.map +1 -1
- package/dist/core/middleware/built-in/compression/hook.js.map +1 -1
- package/dist/core/middleware/built-in/compression/index.js.map +1 -1
- package/dist/core/middleware/built-in/compression/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/cookie/core.js.map +1 -1
- package/dist/core/middleware/built-in/cookie/hook.js.map +1 -1
- package/dist/core/middleware/built-in/cookie/index.js.map +1 -1
- package/dist/core/middleware/built-in/cookie/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/cors/core.js.map +1 -1
- package/dist/core/middleware/built-in/cors/hook.js.map +1 -1
- package/dist/core/middleware/built-in/cors/index.js.map +1 -1
- package/dist/core/middleware/built-in/cors/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/csp/core.js.map +1 -1
- package/dist/core/middleware/built-in/csp/hook.js.map +1 -1
- package/dist/core/middleware/built-in/csp/index.js.map +1 -1
- package/dist/core/middleware/built-in/csp/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/csrf/core.js +1 -1
- package/dist/core/middleware/built-in/csrf/core.js.map +1 -1
- package/dist/core/middleware/built-in/csrf/hook.js.map +1 -1
- package/dist/core/middleware/built-in/csrf/index.js.map +1 -1
- package/dist/core/middleware/built-in/csrf/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker/index.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/core.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/helpers.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/hook.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/index.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/subscriptions.js.map +1 -1
- package/dist/core/middleware/built-in/helmet/core.js.map +1 -1
- package/dist/core/middleware/built-in/helmet/hook.js.map +1 -1
- package/dist/core/middleware/built-in/helmet/index.js.map +1 -1
- package/dist/core/middleware/built-in/helmet/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/http2/core.js.map +1 -1
- package/dist/core/middleware/built-in/http2/hook.js.map +1 -1
- package/dist/core/middleware/built-in/http2/index.js.map +1 -1
- package/dist/core/middleware/built-in/http2/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/index.js.map +1 -1
- package/dist/core/middleware/built-in/performance-monitor/index.js.map +1 -1
- package/dist/core/middleware/built-in/performance-monitor/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/range/core.js +4 -1
- package/dist/core/middleware/built-in/range/core.js.map +1 -1
- package/dist/core/middleware/built-in/range/hook.js.map +1 -1
- package/dist/core/middleware/built-in/range/index.js.map +1 -1
- package/dist/core/middleware/built-in/range/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit/core.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit/hook.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit/index.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger/index.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/session/core.js +4 -4
- package/dist/core/middleware/built-in/session/core.js.map +1 -1
- package/dist/core/middleware/built-in/session/hook.js.map +1 -1
- package/dist/core/middleware/built-in/session/index.js.map +1 -1
- package/dist/core/middleware/built-in/session/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/sse/core.js.map +1 -1
- package/dist/core/middleware/built-in/sse/hook.js.map +1 -1
- package/dist/core/middleware/built-in/sse/index.js.map +1 -1
- package/dist/core/middleware/built-in/sse/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/static/core.js.map +1 -1
- package/dist/core/middleware/built-in/static/hook.js.map +1 -1
- package/dist/core/middleware/built-in/static/index.js.map +1 -1
- package/dist/core/middleware/built-in/static/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/template/core.js +1 -1
- package/dist/core/middleware/built-in/template/core.js.map +1 -1
- package/dist/core/middleware/built-in/template/hook.js.map +1 -1
- package/dist/core/middleware/built-in/template/index.js.map +1 -1
- package/dist/core/middleware/built-in/template/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/upload/core.js.map +1 -1
- package/dist/core/middleware/built-in/upload/hook.js.map +1 -1
- package/dist/core/middleware/built-in/upload/index.js.map +1 -1
- package/dist/core/middleware/built-in/upload/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/validation/core.js.map +1 -1
- package/dist/core/middleware/built-in/validation/hook.js.map +1 -1
- package/dist/core/middleware/built-in/validation/index.js.map +1 -1
- package/dist/core/middleware/built-in/validation/middleware.js.map +1 -1
- package/dist/core/middleware/index.js +2 -2
- package/dist/core/middleware/index.js.map +1 -1
- package/dist/core/modules/auto-discovery.js +11 -7
- package/dist/core/modules/auto-discovery.js.map +1 -1
- package/dist/core/modules/index.js.map +1 -1
- package/dist/core/modules/modules.js +18 -13
- package/dist/core/modules/modules.js.map +1 -1
- package/dist/core/networking/adapters/engine-adapter.js +30 -2
- package/dist/core/networking/adapters/engine-adapter.js.map +1 -1
- package/dist/core/networking/adapters/index.js.map +1 -1
- package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -0
- package/dist/core/networking/adapters/socketio-adapter.js +12 -1
- package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
- package/dist/core/networking/adapters/uws-adapter.js +1 -1
- package/dist/core/networking/adapters/uws-adapter.js.map +1 -1
- package/dist/core/networking/adapters/ws-adapter.d.ts +15 -0
- package/dist/core/networking/adapters/ws-adapter.js +120 -6
- package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
- package/dist/core/networking/index.js.map +1 -1
- package/dist/core/networking/service-discovery.js +7 -5
- package/dist/core/networking/service-discovery.js.map +1 -1
- package/dist/core/networking/websocket-adapter.d.ts +22 -3
- package/dist/core/networking/websocket-adapter.js.map +1 -1
- package/dist/core/networking/websocket-manager.js +70 -67
- package/dist/core/networking/websocket-manager.js.map +1 -1
- package/dist/core/pooling/object-pool-manager.js +6 -0
- package/dist/core/pooling/object-pool-manager.js.map +1 -1
- package/dist/core/queue/adapters/bull-adapter.js.map +1 -1
- package/dist/core/queue/adapters/index.js.map +1 -1
- package/dist/core/queue/adapters/kafka-adapter.js +2 -2
- package/dist/core/queue/adapters/kafka-adapter.js.map +1 -1
- package/dist/core/queue/adapters/memory-adapter.js +6 -6
- package/dist/core/queue/adapters/memory-adapter.js.map +1 -1
- package/dist/core/queue/adapters/rabbitmq-adapter.d.ts +50 -0
- package/dist/core/queue/adapters/rabbitmq-adapter.js +176 -20
- package/dist/core/queue/adapters/rabbitmq-adapter.js.map +1 -1
- package/dist/core/queue/adapters/sqs-adapter.d.ts +12 -2
- package/dist/core/queue/adapters/sqs-adapter.js +75 -24
- package/dist/core/queue/adapters/sqs-adapter.js.map +1 -1
- package/dist/core/queue/index.js.map +1 -1
- package/dist/core/queue/middleware/index.js.map +1 -1
- package/dist/core/queue/middleware/monitoring.d.ts +1 -1
- package/dist/core/queue/middleware/monitoring.js.map +1 -1
- package/dist/core/queue/middleware/priority.js +2 -1
- package/dist/core/queue/middleware/priority.js.map +1 -1
- package/dist/core/queue/middleware/rate-limit.js.map +1 -1
- package/dist/core/queue/queue-adapter.js.map +1 -1
- package/dist/core/queue/queue-manager.js.map +1 -1
- package/dist/core/queue/types.d.ts +8 -8
- package/dist/core/queue/types.js.map +1 -1
- package/dist/core/routing/app-integration.js.map +1 -1
- package/dist/core/routing/create-router.js.map +1 -1
- package/dist/core/routing/index.js.map +1 -1
- package/dist/core/routing/path-matcher.js.map +1 -1
- package/dist/core/routing/radix-tree.js.map +1 -1
- package/dist/core/routing/router.js.map +1 -1
- package/dist/core/routing/unified-router.js +12 -4
- package/dist/core/routing/unified-router.js.map +1 -1
- package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
- package/dist/core/runtime/base-adapter.js +2 -2
- package/dist/core/runtime/base-adapter.js.map +1 -1
- package/dist/core/runtime/cloudflare-workers-adapter.js +2 -0
- package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
- package/dist/core/runtime/index.js.map +1 -1
- package/dist/core/runtime/node-adapter.js +19 -17
- package/dist/core/runtime/node-adapter.js.map +1 -1
- package/dist/core/runtime/vercel-edge-adapter.js +2 -0
- package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
- package/dist/core/utilities/circuit-breaker.d.ts +1 -0
- package/dist/core/utilities/circuit-breaker.js +25 -2
- package/dist/core/utilities/circuit-breaker.js.map +1 -1
- package/dist/core/utilities/container.js +9 -9
- package/dist/core/utilities/container.js.map +1 -1
- package/dist/core/utilities/hooks.js +28 -6
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/core/utilities/index.js.map +1 -1
- package/dist/core/utilities/module-path.js.map +1 -1
- package/dist/core/utilities/package-utils.js +1 -1
- package/dist/core/utilities/package-utils.js.map +1 -1
- package/dist/core/utilities/response-helpers.js +1 -1
- package/dist/core/utilities/response-helpers.js.map +1 -1
- package/dist/core/validation/adapters.js.map +1 -1
- package/dist/core/validation/error-handler.js.map +1 -1
- package/dist/core/validation/index.js.map +1 -1
- package/dist/core/validation/schema-interface.js.map +1 -1
- package/dist/core/workers/facade.js.map +1 -1
- package/dist/core/workers/index.js.map +1 -1
- package/dist/core/workers/worker-entry.d.ts +1 -0
- package/dist/core/workers/worker-entry.js +12 -0
- package/dist/core/workers/worker-entry.js.map +1 -0
- package/dist/core/workers/worker-manager.d.ts +23 -2
- package/dist/core/workers/worker-manager.js +117 -17
- package/dist/core/workers/worker-manager.js.map +1 -1
- package/dist/core/workers/worker.js +8 -6
- package/dist/core/workers/worker.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +18 -1
- package/dist/moro.js +168 -50
- package/dist/moro.js.map +1 -1
- package/dist/types/auth.d.ts +4 -4
- package/dist/types/auth.js.map +1 -1
- package/dist/types/cache.js.map +1 -1
- package/dist/types/cdn.js.map +1 -1
- package/dist/types/config.d.ts +10 -10
- package/dist/types/config.js.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/database.js.map +1 -1
- package/dist/types/discovery.js.map +1 -1
- package/dist/types/events.js.map +1 -1
- package/dist/types/hooks.js.map +1 -1
- package/dist/types/http.js.map +1 -1
- package/dist/types/logger.js.map +1 -1
- package/dist/types/module.js.map +1 -1
- package/dist/types/runtime.js.map +1 -1
- package/dist/types/session.js.map +1 -1
- package/package.json +29 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,mDAAmD;AAEnD,6DAA6D;AAC7D,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,GAOZ,MAAM,WAAW,CAAC;AAEnB,qCAAqC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,iCAAiC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,eAAe;AACf,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,GAGf,MAAM,cAAc,CAAC;AAEtB,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,uBAAuB,GAExB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,mDAAmD;AAEnD,6DAA6D;AAC7D,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,GAOZ,MAAM,WAAW,CAAC;AAEnB,qCAAqC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,iCAAiC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,eAAe;AACf,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,GAGf,MAAM,cAAc,CAAC;AAEtB,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,uBAAuB,GAExB,MAAM,kBAAkB,CAAC","sourcesContent":["// Auth - Main entry point\n// Re-exports all public APIs for the Auth built-in\n\n// Core (for direct use by router and custom implementations)\nexport {\n AuthCore,\n providers,\n twoFactor,\n organization,\n anonymous,\n accountLinking,\n rateLimit,\n bearerToken,\n type TwoFactorAuthOptions,\n type OrganizationOptions,\n type AnonymousOptions,\n type AccountLinkingOptions,\n type RateLimitOptions,\n type BearerTokenOptions,\n} from './core.js';\n\n// Middleware (for middleware chains)\nexport { createAuthMiddleware } from './middleware.js';\n\n// Hook (for global registration)\nexport { auth } from './hook.js';\n\n// Auth Helpers\nexport {\n requireAuth,\n requireRole,\n requirePermission,\n requireAdmin,\n guestOnly,\n optionalAuth,\n withAuth,\n protectedRoute,\n authUtils,\n authResponses,\n sessionHelpers,\n type AuthGuardOptions,\n type AuthRouteOptions,\n} from './helpers.js';\n\n// Extended Auth Providers\nexport {\n extendedProviders,\n enterpriseProviders,\n createCustomOAuthProvider,\n createCustomOIDCProvider,\n} from './providers.js';\n\n// JWT Utilities\nexport {\n safeVerifyJWT,\n extractJWTFromHeader,\n createAuthErrorResponse,\n type JWTVerificationResult,\n} from './jwt-helpers.js';\n\n// Re-export types from shared types\nexport type {\n AuthOptions,\n AuthProvider,\n AuthUser,\n AuthSession,\n AuthRequest,\n OAuthProvider,\n CredentialsProvider,\n EmailProvider,\n} from '../../../../types/auth.js';\n"]}
|
|
@@ -40,20 +40,20 @@ export declare function createAuthErrorResponse(error: JWTVerificationResult['er
|
|
|
40
40
|
success: boolean;
|
|
41
41
|
error: string;
|
|
42
42
|
message: string;
|
|
43
|
-
expiredAt?:
|
|
44
|
-
availableAt?:
|
|
43
|
+
expiredAt?: never;
|
|
44
|
+
availableAt?: never;
|
|
45
45
|
} | {
|
|
46
46
|
success: boolean;
|
|
47
47
|
error: string;
|
|
48
48
|
message: string;
|
|
49
49
|
expiredAt: Date | undefined;
|
|
50
|
-
availableAt?:
|
|
50
|
+
availableAt?: never;
|
|
51
51
|
} | {
|
|
52
52
|
success: boolean;
|
|
53
53
|
error: string;
|
|
54
54
|
message: string;
|
|
55
55
|
availableAt: Date | undefined;
|
|
56
|
-
expiredAt?:
|
|
56
|
+
expiredAt?: never;
|
|
57
57
|
};
|
|
58
58
|
/**
|
|
59
59
|
* Example usage for custom middleware with elegant error handling:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-helpers.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/jwt-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jwt-helpers.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/jwt-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * JWT Error Handling Utilities for Custom Middleware\n *\n * This module provides utilities to help users handle JWT errors gracefully\n * in their custom authentication middleware.\n */\n\nimport { resolveUserPackage } from '../../../utilities/package-utils.js';\n\nexport interface JWTVerificationResult {\n success: boolean;\n payload?: any;\n error?: {\n type: 'expired' | 'invalid' | 'malformed' | 'missing_secret' | 'unknown';\n message: string;\n expiredAt?: Date;\n date?: Date;\n };\n}\n\n/**\n * Safely verify a JWT token with proper error handling\n *\n * @param token - The JWT token to verify\n * @param secret - The secret key for verification\n * @param options - Additional JWT verification options\n * @returns JWTVerificationResult with success status and payload or error details\n */\nexport async function safeVerifyJWT(\n token: string,\n secret: string,\n options: any = {}\n): Promise<JWTVerificationResult> {\n // Check if jsonwebtoken is available\n let jwt: any;\n try {\n const jwtPath = resolveUserPackage('jsonwebtoken');\n jwt = await import(jwtPath);\n } catch {\n return {\n success: false,\n error: {\n type: 'missing_secret',\n message:\n 'JWT verification requires the \"jsonwebtoken\" package. ' +\n 'Please install it with: npm install jsonwebtoken @types/jsonwebtoken',\n },\n };\n }\n\n if (!secret) {\n return {\n success: false,\n error: {\n type: 'missing_secret',\n message:\n 'JWT verification requires a secret. ' +\n 'Please provide a secret for token verification.',\n },\n };\n }\n\n try {\n // Pin algorithms to prevent algorithm-confusion attacks (e.g. RS→HS where an\n // attacker forges an HS256 token signed with the server's RS256 public key).\n // Callers can override by passing their own `algorithms` in options.\n const verifyOptions = { algorithms: ['HS256'], ...options };\n const payload = jwt.verify(token, secret, verifyOptions);\n return {\n success: true,\n payload,\n };\n } catch (error: any) {\n // Handle specific JWT errors gracefully\n if (error.name === 'TokenExpiredError') {\n return {\n success: false,\n error: {\n type: 'expired',\n message: 'JWT token has expired',\n expiredAt: error.expiredAt,\n },\n };\n } else if (error.name === 'JsonWebTokenError') {\n return {\n success: false,\n error: {\n type: 'invalid',\n message: 'Invalid JWT token format or signature',\n },\n };\n } else if (error.name === 'NotBeforeError') {\n return {\n success: false,\n error: {\n type: 'malformed',\n message: 'JWT token is not active yet',\n date: error.date,\n },\n };\n } else {\n return {\n success: false,\n error: {\n type: 'unknown',\n message: `JWT verification failed: ${error.message}`,\n },\n };\n }\n }\n}\n\n/**\n * Extract JWT token from Authorization header\n *\n * @param authHeader - The Authorization header value\n * @returns The JWT token or null if not found/invalid format\n */\nexport function extractJWTFromHeader(authHeader: string | undefined): string | null {\n if (!authHeader) {\n return null;\n }\n\n if (!authHeader.startsWith('Bearer ')) {\n return null;\n }\n\n const token = authHeader.substring(7);\n return token.trim() || null;\n}\n\n/**\n * Create a standardized auth middleware error response\n *\n * @param error - The JWT verification error\n * @returns Standardized error response object\n */\nexport function createAuthErrorResponse(error: JWTVerificationResult['error']) {\n if (!error) {\n return {\n success: false,\n error: 'Authentication failed',\n message: 'Unknown authentication error',\n };\n }\n\n switch (error.type) {\n case 'expired':\n return {\n success: false,\n error: 'Token expired',\n message: 'Your session has expired. Please sign in again.',\n expiredAt: error.expiredAt,\n };\n\n case 'invalid':\n return {\n success: false,\n error: 'Invalid token',\n message: 'The provided authentication token is invalid.',\n };\n\n case 'malformed':\n return {\n success: false,\n error: 'Token not ready',\n message: 'The authentication token is not yet valid.',\n availableAt: error.date,\n };\n\n case 'missing_secret':\n return {\n success: false,\n error: 'Configuration error',\n message: 'Authentication service is not properly configured.',\n };\n\n default:\n return {\n success: false,\n error: 'Authentication failed',\n message: error.message || 'Authentication verification failed.',\n };\n }\n}\n\n/**\n * Example usage for custom middleware with elegant error handling:\n *\n * ```typescript\n * import { safeVerifyJWT, extractJWTFromHeader, createAuthErrorResponse } from '@morojs/moro';\n *\n * const authMiddleware = async (req: any, res: any, next: any) => {\n * const token = extractJWTFromHeader(req.headers.authorization);\n *\n * if (!token) {\n * return res.status(401).json({\n * success: false,\n * error: 'Missing token',\n * message: 'Authorization header with Bearer token is required'\n * });\n * }\n *\n * const result = safeVerifyJWT(token, process.env.JWT_SECRET!);\n *\n * if (!result.success) {\n * // This provides elegant, user-friendly error messages instead of stack traces\n * const errorResponse = createAuthErrorResponse(result.error);\n * return res.status(401).json(errorResponse);\n * }\n *\n * // Token is valid - attach user info to request\n * req.user = result.payload;\n * req.auth = {\n * user: result.payload,\n * isAuthenticated: true,\n * token\n * };\n *\n * next();\n * };\n * ```\n *\n * Benefits of using safeVerifyJWT vs raw jsonwebtoken.verify():\n *\n * ❌ Raw approach (shows ugly error messages to users):\n * ```typescript\n * try {\n * const decoded = jwt.verify(token, secret);\n * req.user = decoded;\n * } catch (error) {\n * // This exposes technical details and stack traces to users:\n * // \"Invalid token: TokenExpiredError: jwt expired at /node_modules/jsonwebtoken/verify.js:190:21...\"\n * throw error; // BAD - exposes internal details\n * }\n * ```\n *\n * ✅ Safe approach (shows clean, user-friendly messages):\n * ```typescript\n * const result = safeVerifyJWT(token, secret);\n * if (!result.success) {\n * // This returns clean messages like:\n * // { \"error\": \"Token expired\", \"message\": \"Your session has expired. Please sign in again.\" }\n * return res.status(401).json(createAuthErrorResponse(result.error));\n * }\n * ```\n */\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/middleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,OAAO,KAAK,EAAE,GAAgB,EAAE,GAAiB,EAAE,IAAyB,EAAE,EAAE;QAC9E,8BAA8B;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,GAAU,CAAC;QAE1B,sCAAsC;QACtC,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,EACJ,KAAK,EACL,OAAO,EAAE,YAAY,EACrB,KAAK,GACN,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE3D,qCAAqC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,aAAa,CAAC;YACvB,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,GAAG,YAAY,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,wCAAwC;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;QAE1B,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,gBAAgB,EAAE;gBACnD,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE;gBAC5B,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS;aAClD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,gCAAgC;QAChC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/middleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,OAAO,KAAK,EAAE,GAAgB,EAAE,GAAiB,EAAE,IAAyB,EAAE,EAAE;QAC9E,8BAA8B;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,GAAU,CAAC;QAE1B,sCAAsC;QACtC,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,EACJ,KAAK,EACL,OAAO,EAAE,YAAY,EACrB,KAAK,GACN,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE3D,qCAAqC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,aAAa,CAAC;YACvB,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,GAAG,YAAY,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,wCAAwC;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;QAE1B,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,gBAAgB,EAAE;gBACnD,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE;gBAC5B,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS;aAClD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,gCAAgC;QAChC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Auth Middleware - Standard (req, res, next) middleware function\nimport { StandardMiddleware } from '../../../../types/hooks.js';\nimport { HttpRequest, HttpResponse } from '../../../../types/http.js';\nimport { AuthCore } from './core.js';\nimport { AuthOptions } from '../../../../types/auth.js';\nimport { createFrameworkLogger } from '../../../logger/index.js';\n\nconst logger = createFrameworkLogger('AuthMiddleware');\n\n/**\n * Create Auth middleware for use in middleware chains\n *\n * @example\n * ```ts\n * import { createAuthMiddleware, providers } from '@/middleware/built-in/auth';\n *\n * const authMw = createAuthMiddleware({\n * secret: process.env.AUTH_SECRET,\n * providers: [\n * providers.google({\n * clientId: process.env.GOOGLE_CLIENT_ID,\n * clientSecret: process.env.GOOGLE_CLIENT_SECRET\n * })\n * ]\n * });\n *\n * app.use(authMw);\n * ```\n */\nexport function createAuthMiddleware(options: AuthOptions): StandardMiddleware {\n const authCore = new AuthCore(options);\n let initialized = false;\n\n return async (req: HttpRequest, res: HttpResponse, next: () => Promise<void>) => {\n // Initialize on first request\n if (!initialized) {\n await authCore.initialize();\n initialized = true;\n }\n\n const reqAny = req as any;\n\n // Handle Better Auth API routes first\n if (authCore.isAuthRoute(reqAny.url)) {\n const response = await authCore.handleAuthRoute(req, res);\n if (response) {\n return response;\n }\n }\n\n // Extract and verify JWT token\n const {\n token,\n session: tokenSession,\n error,\n } = await authCore.verifyToken(req.headers?.authorization);\n\n // Handle JWT errors for API requests\n if (error) {\n const errorResponse = authCore.handleJWTError(error, req, res);\n if (errorResponse) {\n return errorResponse;\n }\n }\n\n // Get session from cookie if no token session\n let session = tokenSession;\n if (!session) {\n session = await authCore.getSession(req);\n }\n\n // Create and attach auth request object\n const authRequest = authCore.createAuthRequest(session, token || undefined);\n reqAny.auth = authRequest;\n\n if (authRequest.isAuthenticated) {\n logger.debug('User authenticated', 'Authentication', {\n userId: authRequest.user?.id,\n provider: authRequest.user?.provider || 'unknown',\n });\n }\n\n await next();\n\n // Update session after response\n if (authRequest.session) {\n await authCore.updateSession(authRequest.session);\n }\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/providers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/auth/providers.ts"],"names":[],"mappings":"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","sourcesContent":["// Extended Auth Provider Configurations\nimport { AuthProvider } from '../../../../types/auth.js';\n\n/**\n * Popular OAuth Providers for Better Auth\n * These extend the basic providers with more options and popular services\n */\nexport const extendedProviders = {\n // Enhanced GitHub provider with more options\n github: (options: {\n clientId: string;\n clientSecret: string;\n scope?: string;\n allowSignup?: boolean;\n }): AuthProvider => ({\n id: 'github',\n name: 'GitHub',\n type: 'oauth' as const,\n authorization: {\n url: 'https://github.com/login/oauth/authorize',\n params: {\n scope: options.scope || 'read:user user:email',\n allow_signup: options.allowSignup ?? true,\n },\n },\n token: 'https://github.com/login/oauth/access_token',\n userinfo: 'https://api.github.com/user',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.id.toString(),\n name: profile.name || profile.login,\n email: profile.email,\n image: profile.avatar_url,\n username: profile.login,\n }),\n }),\n\n // Enhanced Google provider\n google: (options: {\n clientId: string;\n clientSecret: string;\n scope?: string;\n hostedDomain?: string;\n }): AuthProvider => ({\n id: 'google',\n name: 'Google',\n type: 'oauth' as const,\n authorization: {\n url: 'https://accounts.google.com/oauth/authorize',\n params: {\n scope: options.scope || 'openid email profile',\n response_type: 'code',\n ...(options.hostedDomain && { hd: options.hostedDomain }),\n },\n },\n token: 'https://oauth2.googleapis.com/token',\n userinfo: 'https://www.googleapis.com/oauth2/v2/userinfo',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.id,\n name: profile.name,\n email: profile.email,\n image: profile.picture,\n emailVerified: profile.verified_email,\n }),\n }),\n\n // Microsoft/Azure AD provider\n microsoft: (options: {\n clientId: string;\n clientSecret: string;\n tenant?: string;\n scope?: string;\n }): AuthProvider => ({\n id: 'microsoft',\n name: 'Microsoft',\n type: 'oauth' as const,\n authorization: {\n url: `https://login.microsoftonline.com/${options.tenant || 'common'}/oauth2/v2.0/authorize`,\n params: {\n scope: options.scope || 'openid email profile',\n response_type: 'code',\n },\n },\n token: `https://login.microsoftonline.com/${options.tenant || 'common'}/oauth2/v2.0/token`,\n userinfo: 'https://graph.microsoft.com/oidc/userinfo',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.sub,\n name: profile.name,\n email: profile.email,\n image: profile.picture,\n }),\n }),\n\n // Apple provider\n apple: (options: { clientId: string; clientSecret: string; scope?: string }): AuthProvider => ({\n id: 'apple',\n name: 'Apple',\n type: 'oauth' as const,\n authorization: {\n url: 'https://appleid.apple.com/auth/authorize',\n params: {\n scope: options.scope || 'name email',\n response_mode: 'form_post',\n response_type: 'code',\n },\n },\n token: 'https://appleid.apple.com/auth/token',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: (profile, _tokens) => ({\n id: profile.sub,\n name: profile.name ? `${profile.name.firstName} ${profile.name.lastName}` : null,\n email: profile.email,\n emailVerified: profile.email_verified === 'true',\n }),\n }),\n\n // LinkedIn provider\n linkedin: (options: {\n clientId: string;\n clientSecret: string;\n scope?: string;\n }): AuthProvider => ({\n id: 'linkedin',\n name: 'LinkedIn',\n type: 'oauth' as const,\n authorization: {\n url: 'https://www.linkedin.com/oauth/v2/authorization',\n params: {\n scope: options.scope || 'r_liteprofile r_emailaddress',\n },\n },\n token: 'https://www.linkedin.com/oauth/v2/accessToken',\n userinfo: 'https://api.linkedin.com/v2/me',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.id,\n name: `${profile.localizedFirstName} ${profile.localizedLastName}`,\n email: profile.emailAddress,\n image: profile.profilePicture?.['displayImage~']?.elements?.[0]?.identifiers?.[0]?.identifier,\n }),\n }),\n\n // Facebook provider\n facebook: (options: {\n clientId: string;\n clientSecret: string;\n scope?: string;\n }): AuthProvider => ({\n id: 'facebook',\n name: 'Facebook',\n type: 'oauth' as const,\n authorization: {\n url: 'https://www.facebook.com/v18.0/dialog/oauth',\n params: {\n scope: options.scope || 'email public_profile',\n },\n },\n token: 'https://graph.facebook.com/v18.0/oauth/access_token',\n userinfo: 'https://graph.facebook.com/me?fields=id,name,email,picture',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.id,\n name: profile.name,\n email: profile.email,\n image: profile.picture?.data?.url,\n }),\n }),\n\n // Twitter/X provider\n twitter: (options: {\n clientId: string;\n clientSecret: string;\n version?: '1.0a' | '2.0';\n }): AuthProvider => ({\n id: 'twitter',\n name: 'Twitter',\n type: 'oauth' as const,\n authorization: 'https://twitter.com/i/oauth2/authorize',\n token: 'https://api.twitter.com/2/oauth2/token',\n userinfo: 'https://api.twitter.com/2/users/me',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.data.id,\n name: profile.data.name,\n username: profile.data.username,\n image: profile.data.profile_image_url,\n }),\n }),\n\n // Slack provider\n slack: (options: { clientId: string; clientSecret: string; scope?: string }): AuthProvider => ({\n id: 'slack',\n name: 'Slack',\n type: 'oauth' as const,\n authorization: {\n url: 'https://slack.com/oauth/v2/authorize',\n params: {\n user_scope: options.scope || 'identity.basic identity.email identity.avatar',\n },\n },\n token: 'https://slack.com/api/oauth.v2.access',\n userinfo: 'https://slack.com/api/users.identity',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.user.id,\n name: profile.user.name,\n email: profile.user.email,\n image: profile.user.image_192,\n }),\n }),\n\n // GitLab provider\n gitlab: (options: {\n clientId: string;\n clientSecret: string;\n domain?: string;\n scope?: string;\n }): AuthProvider => ({\n id: 'gitlab',\n name: 'GitLab',\n type: 'oauth' as const,\n authorization: {\n url: `${options.domain || 'https://gitlab.com'}/oauth/authorize`,\n params: {\n scope: options.scope || 'read_user',\n },\n },\n token: `${options.domain || 'https://gitlab.com'}/oauth/token`,\n userinfo: `${options.domain || 'https://gitlab.com'}/api/v4/user`,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.id.toString(),\n name: profile.name,\n email: profile.email,\n image: profile.avatar_url,\n username: profile.username,\n }),\n }),\n\n // Spotify provider\n spotify: (options: { clientId: string; clientSecret: string; scope?: string }): AuthProvider => ({\n id: 'spotify',\n name: 'Spotify',\n type: 'oauth' as const,\n authorization: {\n url: 'https://accounts.spotify.com/authorize',\n params: {\n scope: options.scope || 'user-read-email user-read-private',\n },\n },\n token: 'https://accounts.spotify.com/api/token',\n userinfo: 'https://api.spotify.com/v1/me',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.id,\n name: profile.display_name,\n email: profile.email,\n image: profile.images?.[0]?.url,\n }),\n }),\n\n // Twitch provider\n twitch: (options: { clientId: string; clientSecret: string; scope?: string }): AuthProvider => ({\n id: 'twitch',\n name: 'Twitch',\n type: 'oauth' as const,\n authorization: {\n url: 'https://id.twitch.tv/oauth2/authorize',\n params: {\n scope: options.scope || 'user:read:email',\n },\n },\n token: 'https://id.twitch.tv/oauth2/token',\n userinfo: 'https://api.twitch.tv/helix/users',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.data[0].id,\n name: profile.data[0].display_name,\n email: profile.data[0].email,\n image: profile.data[0].profile_image_url,\n username: profile.data[0].login,\n }),\n }),\n\n // Notion provider\n notion: (options: { clientId: string; clientSecret: string }): AuthProvider => ({\n id: 'notion',\n name: 'Notion',\n type: 'oauth' as const,\n authorization: 'https://api.notion.com/v1/oauth/authorize',\n token: 'https://api.notion.com/v1/oauth/token',\n userinfo: 'https://api.notion.com/v1/users/me',\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.id,\n name: profile.name,\n email: profile.person?.email,\n image: profile.avatar_url,\n }),\n }),\n};\n\n/**\n * Enterprise/SAML providers\n */\nexport const enterpriseProviders = {\n // Generic SAML provider\n saml: (options: {\n name: string;\n entryPoint: string;\n issuer: string;\n cert: string;\n callbackUrl?: string;\n }): AuthProvider => ({\n id: 'saml',\n name: options.name,\n type: 'oauth' as const,\n authorization: options.entryPoint,\n clientId: options.issuer,\n // SAML-specific configuration would go here\n entryPoint: options.entryPoint,\n issuer: options.issuer,\n cert: options.cert,\n callbackUrl: options.callbackUrl,\n }),\n\n // Okta provider\n okta: (options: {\n clientId: string;\n clientSecret: string;\n domain: string;\n authorizationServerId?: string;\n }): AuthProvider => ({\n id: 'okta',\n name: 'Okta',\n type: 'oidc' as const,\n issuer: `${options.domain}/oauth2/${options.authorizationServerId || 'default'}`,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.sub,\n name: profile.name,\n email: profile.email,\n username: profile.preferred_username,\n }),\n }),\n\n // Auth0 provider\n auth0: (options: {\n clientId: string;\n clientSecret: string;\n domain: string;\n audience?: string;\n }): AuthProvider => ({\n id: 'auth0',\n name: 'Auth0',\n type: 'oidc' as const,\n issuer: `https://${options.domain}`,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n authorization: {\n url: `https://${options.domain}/authorize`,\n params: {\n audience: options.audience,\n },\n },\n profile: profile => ({\n id: profile.sub,\n name: profile.name,\n email: profile.email,\n image: profile.picture,\n emailVerified: profile.email_verified,\n }),\n }),\n\n // AWS Cognito provider\n cognito: (options: {\n clientId: string;\n clientSecret: string;\n domain: string;\n region?: string;\n }): AuthProvider => ({\n id: 'cognito',\n name: 'AWS Cognito',\n type: 'oidc' as const,\n issuer: `https://cognito-idp.${options.region || 'us-east-1'}.amazonaws.com/${options.domain}`,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n profile: profile => ({\n id: profile.sub,\n name: profile.name,\n email: profile.email,\n username: profile['cognito:username'],\n emailVerified: profile.email_verified,\n }),\n }),\n};\n\n/**\n * Helper function to create custom OAuth provider\n */\nexport function createCustomOAuthProvider(config: {\n id: string;\n name: string;\n clientId: string;\n clientSecret: string;\n authorizationUrl: string;\n tokenUrl: string;\n userinfoUrl: string;\n scope?: string;\n profileMapper?: (profile: any) => any;\n}): AuthProvider {\n return {\n id: config.id,\n name: config.name,\n type: 'oauth' as const,\n authorization: {\n url: config.authorizationUrl,\n params: {\n scope: config.scope || 'openid email profile',\n },\n },\n token: config.tokenUrl,\n userinfo: config.userinfoUrl,\n clientId: config.clientId,\n clientSecret: config.clientSecret,\n profile:\n config.profileMapper ||\n (profile => ({\n id: profile.id || profile.sub,\n name: profile.name,\n email: profile.email,\n image: profile.picture || profile.avatar_url,\n })),\n };\n}\n\n/**\n * Helper function to create custom OIDC provider\n */\nexport function createCustomOIDCProvider(config: {\n id: string;\n name: string;\n clientId: string;\n clientSecret: string;\n issuer: string;\n profileMapper?: (profile: any) => any;\n}): AuthProvider {\n return {\n id: config.id,\n name: config.name,\n type: 'oidc' as const,\n issuer: config.issuer,\n clientId: config.clientId,\n clientSecret: config.clientSecret,\n profile:\n config.profileMapper ||\n (profile => ({\n id: profile.sub,\n name: profile.name,\n email: profile.email,\n image: profile.picture,\n emailVerified: profile.email_verified,\n })),\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-parsers/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,QAAwD;IAC3E,OAAO,SAAS,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI;QACjD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,QAA0D;IACnF,OAAO,SAAS,wBAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI;QACtD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAW,CAAC;QACzD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,mCAAmC,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CACpE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACtB,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;QACpB,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-parsers/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,QAAwD;IAC3E,OAAO,SAAS,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI;QACjD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,QAA0D;IACnF,OAAO,SAAS,wBAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI;QACtD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAW,CAAC;QACzD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,mCAAmC,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CACpE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACtB,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;QACpB,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { Middleware } from '../../../../types/http.js';\n\n/**\n * JSON body-parser middleware. MoroJS auto-parses JSON bodies on POST/PUT/PATCH\n * requests upstream, so this middleware is effectively a pass-through. It exists\n * so code written in the `app.use(json())` idiom works verbatim without rewrites.\n */\nexport function json(_options?: { limit?: number | string; strict?: boolean }): Middleware {\n return function moroJsonBodyParser(_req, _res, next) {\n next();\n };\n}\n\n/**\n * URL-encoded body-parser middleware. Parses `application/x-www-form-urlencoded`\n * request bodies when the automatic parser left them as strings, populating\n * `req.body` with the decoded object.\n */\nexport function urlencoded(_options?: { extended?: boolean; limit?: number | string }): Middleware {\n return function moroUrlencodedBodyParser(req, _res, next) {\n const ct = (req.headers['content-type'] || '') as string;\n if (!ct.toLowerCase().startsWith('application/x-www-form-urlencoded')) {\n return next();\n }\n if (typeof req.body === 'string') {\n const parsed: Record<string, string> = {};\n const pairs = req.body.split('&');\n for (const pair of pairs) {\n if (!pair) continue;\n const eq = pair.indexOf('=');\n const k = eq === -1 ? pair : pair.substring(0, eq);\n const v = eq === -1 ? '' : pair.substring(eq + 1);\n parsed[decodeURIComponent(k.replace(/\\+/g, ' '))] = decodeURIComponent(\n v.replace(/\\+/g, ' ')\n );\n }\n req.body = parsed;\n }\n next();\n };\n}\n"]}
|
|
@@ -16,9 +16,9 @@ export class BodySizeCore {
|
|
|
16
16
|
const match = size.toLowerCase().match(/^(\d+(?:\.\d+)?)\s*(b|kb|mb|gb)?$/);
|
|
17
17
|
if (!match)
|
|
18
18
|
return 10 * 1024 * 1024; // Default 10MB
|
|
19
|
-
const value = parseFloat(match[1]);
|
|
19
|
+
const value = parseFloat(match[1] ?? '');
|
|
20
20
|
const unit = match[2] || 'b';
|
|
21
|
-
return Math.round(value * units[unit]);
|
|
21
|
+
return Math.round(value * (units[unit] ?? 1));
|
|
22
22
|
}
|
|
23
23
|
checkBodySize(req, res) {
|
|
24
24
|
const contentType = req.headers['content-type'] || '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-size/core.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,YAAY;IACf,UAAU,CAAS;IAE3B,YAAY,UAA2B,EAAE;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IAC5D,CAAC;IAEO,SAAS,CAAC,IAAqB;QACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAA8B;YACvC,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI,GAAG,IAAI;YACf,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;SACvB,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe;QAEpD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-size/core.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,YAAY;IACf,UAAU,CAAS;IAE3B,YAAY,UAA2B,EAAE;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IAC5D,CAAC;IAEO,SAAS,CAAC,IAAqB;QACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAA8B;YACvC,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI,GAAG,IAAI;YACf,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;SACvB,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe;QAEpD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAE7B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,GAAgB,EAAE,GAAiB;QAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAEtD,8DAA8D;QAC9D,2EAA2E;QAC3E,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,CAAC,+DAA+D;QAC9E,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;QAErE,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B;gBACjC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;gBACvC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;aACzC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YAChC,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,CAAC;aAAM,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAChC,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC;QACD,OAAO,GAAG,KAAK,GAAG,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF","sourcesContent":["// Body Size Limit Core Logic\nimport { HttpRequest, HttpResponse } from '../../../../types/http.js';\n\nexport interface BodySizeOptions {\n limit?: string | number;\n}\n\nexport class BodySizeCore {\n private limitBytes: number;\n\n constructor(options: BodySizeOptions = {}) {\n this.limitBytes = this.parseSize(options.limit || '10mb');\n }\n\n private parseSize(size: string | number): number {\n if (typeof size === 'number') {\n return size;\n }\n\n const units: { [key: string]: number } = {\n b: 1,\n kb: 1024,\n mb: 1024 * 1024,\n gb: 1024 * 1024 * 1024,\n };\n\n const match = size.toLowerCase().match(/^(\\d+(?:\\.\\d+)?)\\s*(b|kb|mb|gb)?$/);\n if (!match) return 10 * 1024 * 1024; // Default 10MB\n\n const value = parseFloat(match[1] ?? '');\n const unit = match[2] || 'b';\n\n return Math.round(value * (units[unit] ?? 1));\n }\n\n checkBodySize(req: HttpRequest, res: HttpResponse): boolean {\n const contentType = req.headers['content-type'] || '';\n\n // Skip body size check for multipart/form-data (file uploads)\n // Those are handled by maxUploadSize in the HTTP server's parseBody method\n if (contentType.includes('multipart/form-data')) {\n return true; // Allow, will be checked by parseBody with maxUploadSize limit\n }\n\n const contentLength = parseInt(req.headers['content-length'] || '0');\n\n if (contentLength > this.limitBytes) {\n res.status(413).json({\n success: false,\n error: 'Request entity too large',\n limit: this.formatSize(this.limitBytes),\n received: this.formatSize(contentLength),\n });\n return false;\n }\n\n return true;\n }\n\n private formatSize(bytes: number): string {\n if (bytes >= 1024 * 1024 * 1024) {\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)}GB`;\n } else if (bytes >= 1024 * 1024) {\n return `${(bytes / (1024 * 1024)).toFixed(2)}MB`;\n } else if (bytes >= 1024) {\n return `${(bytes / 1024).toFixed(2)}KB`;\n }\n return `${bytes}B`;\n }\n\n getLimit(): number {\n return this.limitBytes;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-size/hook.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AAE1D,MAAM,UAAU,qBAAqB,CAAC,WAAgB,EAAE,UAA2B,EAAE;IACnF,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACtC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO;QAElC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-size/hook.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AAE1D,MAAM,UAAU,qBAAqB,CAAC,WAAgB,EAAE,UAA2B,EAAE;IACnF,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACtC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO;QAElC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["// Body Size Hook Integration\nimport { BodySizeCore, BodySizeOptions } from './core.js';\n\nexport function registerBodySizeHooks(hookManager: any, options: BodySizeOptions = {}): void {\n const core = new BodySizeCore(options);\n\n hookManager.on('request', async (context: any) => {\n const { request, response } = context;\n if (!request || !response) return;\n\n core.checkBodySize(request, response);\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-size/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-size/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAwB,CAAC","sourcesContent":["// Body Size Middleware - Centralized Exports\nexport { BodySizeCore } from './core.js';\nexport type { BodySizeOptions } from './core.js';\nexport { createBodySizeMiddleware } from './middleware.js';\nexport { registerBodySizeHooks } from './hook.js';\n\nimport { createBodySizeMiddleware } from './middleware.js';\n\nexport const bodySize = createBodySizeMiddleware;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-size/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAA2B,EAAE;IACpE,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,mBAAmB;QAC7B,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/body-size/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAA2B,EAAE;IACpE,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,mBAAmB;QAC7B,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Body Size Limit Middleware\nimport { Middleware } from '../../../../types/http.js';\nimport { BodySizeCore, BodySizeOptions } from './core.js';\n\n/**\n * Create body size limit middleware\n *\n * @example\n * ```typescript\n * import { bodySize } from '@morojs/moro';\n *\n * app.use(bodySize({ limit: '10mb' }));\n * app.use(bodySize({ limit: 1024 * 1024 * 5 })); // 5MB\n * ```\n */\nexport function createBodySizeMiddleware(options: BodySizeOptions = {}): Middleware {\n const core = new BodySizeCore(options);\n\n return (req, res, next) => {\n if (!core.checkBodySize(req, res)) {\n return; // Request rejected\n }\n next();\n };\n}\n"]}
|
|
@@ -5,7 +5,9 @@ export class FileCacheAdapter {
|
|
|
5
5
|
cacheDir;
|
|
6
6
|
constructor(options = {}) {
|
|
7
7
|
this.cacheDir = options.cacheDir || './cache';
|
|
8
|
-
this.ensureCacheDir()
|
|
8
|
+
void this.ensureCacheDir().catch(() => {
|
|
9
|
+
// best-effort cache directory creation; write paths re-check/create
|
|
10
|
+
});
|
|
9
11
|
}
|
|
10
12
|
async ensureCacheDir() {
|
|
11
13
|
const fs = await import('fs/promises');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cache/adapters/cache/file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;AAEzD,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAAS;IAEzB,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cache/adapters/cache/file.ts"],"names":[],"mappings":"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","sourcesContent":["// File System Cache Adapter\nimport { CacheAdapter } from '../../../../../../types/cache.js';\nimport { createFrameworkLogger } from '../../../../../logger/index.js';\nimport crypto from 'crypto';\n\nconst logger = createFrameworkLogger('FileCacheAdapter');\n\nexport class FileCacheAdapter implements CacheAdapter {\n private cacheDir: string;\n\n constructor(options: { cacheDir?: string } = {}) {\n this.cacheDir = options.cacheDir || './cache';\n void this.ensureCacheDir().catch(() => {\n // best-effort cache directory creation; write paths re-check/create\n });\n }\n\n private async ensureCacheDir(): Promise<void> {\n const fs = await import('fs/promises');\n try {\n await fs.mkdir(this.cacheDir, { recursive: true });\n } catch (error) {\n logger.error('Failed to create cache directory', 'FileCache', { error });\n }\n }\n\n private getFilePath(key: string): string {\n const hash = crypto.createHash('md5').update(key).digest('hex');\n return `${this.cacheDir}/${hash}.json`;\n }\n\n async get(key: string): Promise<any> {\n try {\n const fs = await import('fs/promises');\n const filePath = this.getFilePath(key);\n const data = await fs.readFile(filePath, 'utf-8');\n const parsed = JSON.parse(data);\n\n if (Date.now() > parsed.expires) {\n await this.del(key);\n return null;\n }\n\n return parsed.value;\n } catch {\n return null;\n }\n }\n\n async set(key: string, value: any, ttl: number = 3600): Promise<void> {\n try {\n const fs = await import('fs/promises');\n const filePath = this.getFilePath(key);\n const expires = Date.now() + ttl * 1000;\n const data = JSON.stringify({ value, expires });\n\n await fs.writeFile(filePath, data);\n logger.debug(`Cached item to file: ${key} (TTL: ${ttl}s)`, 'FileCache');\n } catch (error) {\n logger.error('File cache set error', 'FileCache', { key, error });\n }\n }\n\n async del(key: string): Promise<void> {\n try {\n const fs = await import('fs/promises');\n const filePath = this.getFilePath(key);\n await fs.unlink(filePath);\n logger.debug(`Deleted file cache item: ${key}`, 'FileCache');\n } catch {\n // File might not exist, which is okay\n }\n }\n\n async clear(): Promise<void> {\n try {\n const fs = await import('fs/promises');\n const files = await fs.readdir(this.cacheDir);\n\n await Promise.all(files.map(file => fs.unlink(`${this.cacheDir}/${file}`)));\n\n logger.debug('Cleared all file cache items', 'FileCache');\n } catch (error) {\n logger.error('File cache clear error', 'FileCache', { error });\n }\n }\n\n async exists(key: string): Promise<boolean> {\n const value = await this.get(key);\n return value !== null;\n }\n\n async ttl(key: string): Promise<number> {\n try {\n const fs = await import('fs/promises');\n const filePath = this.getFilePath(key);\n const data = await fs.readFile(filePath, 'utf-8');\n const parsed = JSON.parse(data);\n\n const remaining = Math.floor((parsed.expires - Date.now()) / 1000);\n return remaining > 0 ? remaining : -1;\n } catch {\n return -1;\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cache/adapters/cache/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,4CAA4C;AAC5C,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,UAAe,EAAE;IAChE,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,IAAI,kBAAkB,EAAE,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,MAAM;YACT,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cache/adapters/cache/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,4CAA4C;AAC5C,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,UAAe,EAAE;IAChE,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,IAAI,kBAAkB,EAAE,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,MAAM;YACT,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC","sourcesContent":["// Cache Adapters\nexport { MemoryCacheAdapter } from './memory.js';\nexport { RedisCacheAdapter } from './redis.js';\nexport { FileCacheAdapter } from './file.js';\n\nimport { MemoryCacheAdapter } from './memory.js';\nimport { RedisCacheAdapter } from './redis.js';\nimport { FileCacheAdapter } from './file.js';\nimport { CacheAdapter } from '../../../../../../types/cache.js';\n\n// Adapter factory function for auto-loading\nexport function createCacheAdapter(type: string, options: any = {}): CacheAdapter {\n switch (type.toLowerCase()) {\n case 'memory':\n return new MemoryCacheAdapter();\n case 'redis':\n return new RedisCacheAdapter(options);\n case 'file':\n return new FileCacheAdapter(options);\n default:\n throw new Error(`Unknown cache adapter type: ${type}`);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cache/adapters/cache/memory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,MAAM,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;AAE3D,MAAM,OAAO,kBAAkB;IACrB,KAAK,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC3D,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEnD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,MAAc,IAAI;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;QAExC,uBAAuB;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExC,uBAAuB;QACvB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,UAAU,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,oEAAoE;QACpE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,OAAO,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cache/adapters/cache/memory.ts"],"names":[],"mappings":"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","sourcesContent":["// Memory Cache Adapter\nimport { CacheAdapter } from '../../../../../../types/cache.js';\nimport { createFrameworkLogger } from '../../../../../logger/index.js';\n\nconst logger = createFrameworkLogger('MemoryCacheAdapter');\n\nexport class MemoryCacheAdapter implements CacheAdapter {\n private cache = new Map<string, { value: any; expires: number }>();\n private timers = new Map<string, NodeJS.Timeout>();\n\n async get(key: string): Promise<any> {\n const item = this.cache.get(key);\n if (!item) return null;\n\n if (Date.now() > item.expires) {\n await this.del(key);\n return null;\n }\n\n return item.value;\n }\n\n async set(key: string, value: any, ttl: number = 3600): Promise<void> {\n const expires = Date.now() + ttl * 1000;\n\n // Clear existing timer\n const existingTimer = this.timers.get(key);\n if (existingTimer) {\n clearTimeout(existingTimer);\n }\n\n // Set new value\n this.cache.set(key, { value, expires });\n\n // Set expiration timer\n const timer = setTimeout(() => {\n this.cache.delete(key);\n this.timers.delete(key);\n }, ttl * 1000);\n\n this.timers.set(key, timer);\n logger.debug(`Cached item: ${key} (TTL: ${ttl}s)`, 'MemoryCache');\n }\n\n async del(key: string): Promise<void> {\n this.cache.delete(key);\n const timer = this.timers.get(key);\n if (timer) {\n clearTimeout(timer);\n this.timers.delete(key);\n }\n logger.debug(`Deleted cache item: ${key}`, 'MemoryCache');\n }\n\n async clear(): Promise<void> {\n this.cache.clear();\n this.timers.forEach(timer => clearTimeout(timer));\n this.timers.clear();\n logger.debug('Cleared all cache items', 'MemoryCache');\n }\n\n async exists(key: string): Promise<boolean> {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.cache.has(key) && Date.now() <= this.cache.get(key)!.expires;\n }\n\n async ttl(key: string): Promise<number> {\n const item = this.cache.get(key);\n if (!item) return -1;\n\n const remaining = Math.floor((item.expires - Date.now()) / 1000);\n return remaining > 0 ? remaining : -1;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cache/adapters/cache/redis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cache/adapters/cache/redis.ts"],"names":[],"mappings":"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","sourcesContent":["// Redis Cache Adapter\nimport { CacheAdapter } from '../../../../../../types/cache.js';\nimport { createFrameworkLogger } from '../../../../../logger/index.js';\nimport { resolveUserPackage } from '../../../../../utilities/package-utils.js';\n\nconst logger = createFrameworkLogger('RedisCacheAdapter');\n\nexport class RedisCacheAdapter implements CacheAdapter {\n private client: any;\n\n constructor(\n options: {\n host?: string;\n port?: number;\n password?: string;\n db?: number;\n keyPrefix?: string;\n } = {}\n ) {\n this.initPromise = this.initialize(options);\n }\n\n private initPromise: Promise<void>;\n\n private async initialize(options: {\n host?: string;\n port?: number;\n password?: string;\n db?: number;\n keyPrefix?: string;\n }): Promise<void> {\n try {\n const redisPath = resolveUserPackage('redis');\n const redis = await import(redisPath);\n this.client = redis.default.createClient({\n host: options.host || 'localhost',\n port: options.port || 6379,\n password: options.password,\n db: options.db || 0,\n key_prefix: options.keyPrefix || 'moro:cache:',\n });\n\n this.client.on('error', (err: Error) => {\n logger.error('Redis cache error', 'RedisCache', { error: err.message });\n });\n\n logger.info('Redis cache adapter initialized', 'RedisCache');\n } catch {\n logger.error('Redis not available, falling back to memory cache', 'RedisCache');\n throw new Error('Redis package not installed. Run: npm install redis');\n }\n }\n\n async get(key: string): Promise<any> {\n try {\n const value = await this.client.get(key);\n return value ? JSON.parse(value) : null;\n } catch (error) {\n logger.error('Redis get error', 'RedisCache', { key, error });\n return null;\n }\n }\n\n async set(key: string, value: any, ttl: number = 3600): Promise<void> {\n try {\n const serialized = JSON.stringify(value);\n if (ttl > 0) {\n await this.client.setex(key, ttl, serialized);\n } else {\n await this.client.set(key, serialized);\n }\n logger.debug(`Cached item in Redis: ${key} (TTL: ${ttl}s)`, 'RedisCache');\n } catch (error) {\n logger.error('Redis set error', 'RedisCache', { key, error });\n }\n }\n\n async del(key: string): Promise<void> {\n try {\n await this.client.del(key);\n logger.debug(`Deleted Redis cache item: ${key}`, 'RedisCache');\n } catch (error) {\n logger.error('Redis del error', 'RedisCache', { key, error });\n }\n }\n\n async clear(): Promise<void> {\n try {\n await this.client.flushdb();\n logger.debug('Cleared all Redis cache items', 'RedisCache');\n } catch (error) {\n logger.error('Redis clear error', 'RedisCache', { error });\n }\n }\n\n async exists(key: string): Promise<boolean> {\n try {\n const exists = await this.client.exists(key);\n return exists === 1;\n } catch (error) {\n logger.error('Redis exists error', 'RedisCache', { key, error });\n return false;\n }\n }\n\n async ttl(key: string): Promise<number> {\n try {\n return await this.client.ttl(key);\n } catch (error) {\n logger.error('Redis TTL error', 'RedisCache', { key, error });\n return -1;\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/middleware/built-in/cache/adapters/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,cAAc,kBAAkB,CAAC;AAEjC,8CAA8C;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/middleware/built-in/cache/adapters/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,cAAc,kBAAkB,CAAC;AAEjC,8CAA8C;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["// Adapters Index\nexport * from './cache/index.js';\n\n// Re-export factory functions for convenience\nexport { createCacheAdapter } from './cache/index.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cache/core.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAoClD,yBAAyB;AAEzB;;;;GAIG;AACH,MAAM,OAAO,SAAS;IACZ,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE9C;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,GAAiB,EAAE,MAAmB;QACnE,gDAAgD;QAChD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,CAAC,gCAAgC;QAC/C,CAAC;QAED,0BAA0B;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC,CAAC,2BAA2B;QAC1C,CAAC;QAED,wDAAwD;QACxD,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAS,EAAE,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,OAAO,KAAK,CAAC,CAAC,uBAAuB;IACvC,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAW;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW,EAAE,IAAS,EAAE,GAAW;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG;SACJ,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,SAAS,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cache/core.ts"],"names":[],"mappings":"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","sourcesContent":["// Cache Core - Reusable caching logic\nimport { createFrameworkLogger } from '../../../logger/index.js';\nimport { HttpRequest, HttpResponse } from '../../../../types/http.js';\n\nconst logger = createFrameworkLogger('CacheCore');\n\n// ===== Types =====\n\n/**\n * HTTP Caching Options for Cache-Control, ETags, etc.\n */\nexport interface HttpCachingOptions {\n /** Enable HTTP caching headers (default: true) */\n httpCaching?: boolean;\n /** Default max-age for Cache-Control header (seconds) */\n maxAge?: number;\n /** Cache-Control header (overrides maxAge if provided) */\n cacheControl?: string;\n /** Vary header for proper caching */\n vary?: string[];\n /** Enable ETag generation (default: true) */\n etag?: boolean | 'strong' | 'weak';\n /** Enable conditional request handling (default: true) */\n conditionalRequests?: boolean;\n /** Custom ETag generator function */\n generateETag?: (content: string, type?: string) => string;\n}\n\nexport interface CacheConfig extends HttpCachingOptions {\n ttl: number;\n key?: string;\n tags?: string[];\n}\n\ninterface CachedData {\n data: any;\n timestamp: number;\n ttl: number;\n}\n\n// ===== Core Logic =====\n\n/**\n * CacheCore - Core caching logic\n * Used directly by the router for route-based caching\n * Can be instantiated for use in middleware or hooks\n */\nexport class CacheCore {\n private store = new Map<string, CachedData>();\n\n /**\n * High-level method for router use: tryGet(req, res, config)\n * Returns true if cache hit (response sent), false if cache miss (continue)\n */\n async tryGet(req: HttpRequest, res: HttpResponse, config: CacheConfig): Promise<boolean> {\n // Don't attempt caching if headers already sent\n if (res.headersSent) {\n return true; // Return true to stop execution\n }\n\n // Only cache GET requests\n if (req.method !== 'GET') {\n return false;\n }\n\n const cacheKey = config.key || `${req.method}:${req.path}:${JSON.stringify(req.query || {})}`;\n const cached = this.get(cacheKey);\n\n if (cached !== undefined) {\n res.setHeader('X-Cache', 'HIT');\n res.json(cached);\n return true; // Cache hit, response sent\n }\n\n // Cache miss - set up response interception for caching\n res.setHeader('X-Cache', 'MISS');\n\n const originalJson = res.json.bind(res);\n res.json = (data: any) => {\n this.set(cacheKey, data, config.ttl);\n\n if (config.tags && config.tags.length > 0) {\n res.setHeader('X-Cache-Tags', config.tags.join(','));\n }\n\n return originalJson(data);\n };\n\n return false; // Cache miss, continue\n }\n\n /**\n * Low-level get method\n * Returns cached data if valid, undefined if not found or expired\n */\n get(key: string): any | undefined {\n const cached = this.store.get(key);\n if (!cached) {\n return undefined;\n }\n\n const now = Date.now();\n if (now - cached.timestamp >= cached.ttl * 1000) {\n this.store.delete(key);\n return undefined;\n }\n\n logger.debug('Cache hit', 'Cache', { key });\n return cached.data;\n }\n\n /**\n * Set a value in the cache\n */\n set(key: string, data: any, ttl: number): void {\n this.store.set(key, {\n data,\n timestamp: Date.now(),\n ttl,\n });\n logger.debug('Response cached', 'Cache', { key, ttl });\n }\n\n /**\n * Clear all cached data\n */\n clear(): void {\n this.store.clear();\n }\n\n /**\n * Delete a specific cache entry\n */\n delete(key: string): void {\n this.store.delete(key);\n }\n}\n\n// Shared instance for route-based caching\nexport const sharedCacheCore = new CacheCore();\n"]}
|
|
@@ -218,16 +218,16 @@ export const cache = (options = {}) => ({
|
|
|
218
218
|
};
|
|
219
219
|
// Override response methods
|
|
220
220
|
res.json = function (data) {
|
|
221
|
-
cacheResponse(data, 'application/json');
|
|
221
|
+
void cacheResponse(data, 'application/json');
|
|
222
222
|
return originalJson.call(this, data);
|
|
223
223
|
};
|
|
224
224
|
res.send = function (data) {
|
|
225
|
-
cacheResponse(data);
|
|
225
|
+
void cacheResponse(data);
|
|
226
226
|
return originalSend.call(this, data);
|
|
227
227
|
};
|
|
228
228
|
res.end = function (data) {
|
|
229
229
|
if (data) {
|
|
230
|
-
cacheResponse(data);
|
|
230
|
+
void cacheResponse(data);
|
|
231
231
|
}
|
|
232
232
|
return originalEnd.call(this, data);
|
|
233
233
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cache/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cache/hook.ts"],"names":[],"mappings":"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","sourcesContent":["// Cache Hook - MiddlewareInterface for global registration\nimport { MiddlewareInterface, HookContext } from '../../../../types/hooks.js';\nimport { CacheAdapter, CacheOptions, CachedResponse } from '../../../../types/cache.js';\nimport { createFrameworkLogger } from '../../../logger/index.js';\nimport { createCacheAdapter } from '../cache/adapters/cache/index.js';\n\n/**\n * LRU Cache for ETag storage (massive performance gain for repeated responses)\n */\nclass ETagCache {\n private cache = new Map<string, { etag: string; lastModified: string; size: number }>();\n private readonly maxSize: number;\n private readonly ttl: number;\n\n constructor(maxSize = 10000, ttlMs = 3600000) {\n // 1 hour default TTL\n this.maxSize = maxSize;\n this.ttl = ttlMs;\n }\n\n get(key: string): { etag: string; lastModified: string; size: number } | undefined {\n const entry = this.cache.get(key);\n if (!entry) return undefined;\n\n // Check TTL\n const age = Date.now() - new Date(entry.lastModified).getTime();\n if (age > this.ttl) {\n this.cache.delete(key);\n return undefined;\n }\n\n return entry;\n }\n\n set(key: string, etag: string, size: number): void {\n // Evict oldest entries if cache is too large\n if (this.cache.size >= this.maxSize) {\n const firstKey = this.cache.keys().next().value;\n if (firstKey) {\n this.cache.delete(firstKey);\n }\n }\n\n this.cache.set(key, {\n etag,\n lastModified: new Date().toUTCString(),\n size,\n });\n }\n\n clear(): void {\n this.cache.clear();\n }\n}\n\n// Global ETag cache instance\nconst etagCache = new ETagCache();\n\nconst logger = createFrameworkLogger('CacheMiddleware');\n\n/**\n * Advanced cache hook with pluggable storage adapters and HTTP caching\n * Registers with the hooks system for global usage\n *\n * @example\n * ```ts\n * import { cache } from '@/middleware/built-in/cache';\n *\n * // Server-side caching with Redis\n * app.use(cache({\n * adapter: 'redis',\n * defaultTtl: 3600,\n * strategies: {\n * '/api/.*': { ttl: 60 }\n * }\n * }));\n *\n * // HTTP caching with ETags and conditional requests\n * app.use(cache({\n * httpCaching: true,\n * maxAge: 300,\n * etag: 'strong',\n * conditionalRequests: true\n * }));\n *\n * // Combined server-side + HTTP caching\n * app.use(cache({\n * adapter: 'memory',\n * defaultTtl: 3600,\n * httpCaching: true,\n * maxAge: 300,\n * strategies: {\n * '/api/users': { ttl: 300, maxAge: 60 },\n * '/api/posts': { ttl: 1800, maxAge: 300 }\n * }\n * }));\n *\n * // Redis server-side caching only\n * app.use(cache({\n * adapter: 'redis',\n * defaultTtl: 3600,\n * httpCaching: false, // Disable HTTP caching\n * strategies: { '/api/.*': { ttl: 60 } }\n * }));\n *\n * // HTTP caching only (no server-side storage)\n * app.use(cache({\n * httpCaching: true,\n * maxAge: 300,\n * etag: 'strong',\n * vary: ['Accept-Language', 'User-Agent']\n * }));\n * ```\n */\nexport const cache = (options: CacheOptions = {}): MiddlewareInterface => ({\n name: 'cache',\n version: '1.0.0',\n metadata: {\n name: 'cache',\n version: '1.0.0',\n description: 'Built-in cache middleware with pluggable storage adapters',\n author: 'MoroJS Team',\n },\n\n install: async (hooks: any, _middlewareOptions: any = {}) => {\n logger.debug('Installing cache middleware', 'Installation');\n\n // Initialize storage adapter\n let storageAdapter: CacheAdapter;\n\n if (options.adapter && typeof options.adapter === 'object' && 'get' in options.adapter) {\n storageAdapter = options.adapter as CacheAdapter;\n } else if (typeof options.adapter === 'string') {\n storageAdapter = createCacheAdapter(options.adapter, options.adapterOptions);\n } else {\n // Default to memory cache\n storageAdapter = createCacheAdapter('memory');\n }\n\n // Cache key generation\n const generateCacheKey = (req: any, strategy?: any): string => {\n const prefix = options.keyPrefix || 'moro:cache:';\n\n if (strategy?.key) {\n return `${prefix}${strategy.key(req)}`;\n }\n\n // Default key: method + path + query\n const query = new URLSearchParams(req.query || {}).toString();\n return `${prefix}${req.method}:${req.path}${query ? `?${query}` : ''}`;\n };\n\n // Find matching strategy\n const findStrategy = (req: any): any | undefined => {\n if (!options.strategies) return undefined;\n\n for (const [pattern, strategy] of Object.entries(options.strategies)) {\n const regex = new RegExp(pattern);\n if (regex.test(req.path)) {\n return strategy;\n }\n }\n\n return undefined;\n };\n\n hooks.before('request', async (context: HookContext) => {\n const req = context.request as any;\n const res = context.response as any;\n\n // Only cache GET requests by default\n if (req.method !== 'GET') {\n return;\n }\n\n const strategy = findStrategy(req);\n const cacheKey = generateCacheKey(req, strategy);\n\n // Check if caching is disabled for this request\n if (strategy?.condition && !strategy.condition(req, res)) {\n return;\n }\n\n try {\n // Try to get from cache\n const cachedResponse = await storageAdapter.get(cacheKey);\n\n if (cachedResponse) {\n logger.debug(`Cache hit: ${cacheKey}`, 'CacheHit');\n\n // Set cache headers\n res.setHeader('X-Cache', 'HIT');\n res.setHeader('X-Cache-Key', cacheKey);\n\n // Send cached response\n res.status(cachedResponse.status || 200);\n\n // Set cached headers\n if (cachedResponse.headers) {\n Object.entries(cachedResponse.headers).forEach(([key, value]) => {\n res.setHeader(key, value as string);\n });\n }\n\n if (cachedResponse.contentType) {\n res.setHeader('Content-Type', cachedResponse.contentType);\n }\n\n res.send(cachedResponse.body);\n\n // Mark as handled\n (context as any).handled = true;\n return;\n }\n\n logger.debug(`Cache miss: ${cacheKey}`, 'CacheMiss');\n res.setHeader('X-Cache', 'MISS');\n res.setHeader('X-Cache-Key', cacheKey);\n } catch (error) {\n logger.error('Cache retrieval error', 'CacheError', {\n error,\n key: cacheKey,\n });\n }\n\n // Store original response methods\n const originalJson = res.json;\n const originalSend = res.send;\n const originalEnd = res.end;\n\n // Wrap response methods to cache the response\n const cacheResponse = async (body: any, contentType?: string) => {\n try {\n const ttl = strategy?.ttl || options.defaultTtl || 3600;\n\n const cacheData: CachedResponse = {\n body,\n status: res.statusCode,\n headers: res.getHeaders ? res.getHeaders() : {},\n contentType: contentType || res.getHeader('Content-Type'),\n timestamp: Date.now(),\n };\n\n await storageAdapter.set(cacheKey, cacheData, ttl);\n logger.debug(`Response cached: ${cacheKey} (TTL: ${ttl}s)`, 'CacheSet');\n } catch (error) {\n logger.error('Cache storage error', 'CacheError', {\n error,\n key: cacheKey,\n });\n }\n };\n\n // Override response methods\n res.json = function (data: any) {\n void cacheResponse(data, 'application/json');\n return originalJson.call(this, data);\n };\n\n res.send = function (data: any) {\n void cacheResponse(data);\n return originalSend.call(this, data);\n };\n\n res.end = function (data?: any) {\n if (data) {\n void cacheResponse(data);\n }\n return originalEnd.call(this, data);\n };\n\n // Add cache control methods\n res.cacheControl = (directives: any) => {\n const parts: string[] = [];\n\n if (directives.public) parts.push('public');\n if (directives.private) parts.push('private');\n if (directives.noCache) parts.push('no-cache');\n if (directives.noStore) parts.push('no-store');\n if (directives.mustRevalidate) parts.push('must-revalidate');\n if (directives.immutable) parts.push('immutable');\n\n if (typeof directives.maxAge === 'number') parts.push(`max-age=${directives.maxAge}`);\n if (typeof directives.staleWhileRevalidate === 'number') {\n parts.push(`stale-while-revalidate=${directives.staleWhileRevalidate}`);\n }\n\n if (!res.headersSent) {\n res.setHeader('Cache-Control', parts.join(', '));\n }\n return res;\n };\n\n // HTTP CACHING - ETags, Conditional Requests, Cache Headers\n if (options.httpCaching !== false) {\n const httpCachingOptions = {\n maxAge: options.maxAge || 300,\n cacheControl: options.cacheControl,\n vary: options.vary,\n etag: options.etag !== false ? (options.etag === 'weak' ? 'weak' : 'strong') : false,\n conditionalRequests: options.conditionalRequests !== false,\n generateETag: options.generateETag,\n };\n\n // Generate ETag with caching for performance\n const generateETagCached = (content: string, type: 'strong' | 'weak' = 'strong') => {\n if (options.generateETag) {\n return options.generateETag(content, type);\n }\n\n // Create cache key\n const cacheKey = `${type}:${content}`;\n\n // Check cache first (massive performance gain)\n const cached = etagCache.get(cacheKey);\n if (cached) {\n return cached.etag;\n }\n\n // Generate ETag using fast hash\n let hash = 0;\n for (let i = 0; i < content.length; i++) {\n const char = content.charCodeAt(i);\n hash = ((hash << 5) - hash + char) & 0xffffffff;\n }\n\n const etagHash = Math.abs(hash).toString(36).substring(0, 16);\n const prefix = type === 'weak' ? 'W/' : '';\n const etag = `${prefix}\"${etagHash}\"`;\n\n // Cache the result\n etagCache.set(cacheKey, etag, content.length);\n\n return etag;\n };\n\n // Set HTTP cache headers\n if (httpCachingOptions.cacheControl) {\n res.setHeader('Cache-Control', httpCachingOptions.cacheControl);\n } else if (httpCachingOptions.maxAge && httpCachingOptions.maxAge > 0) {\n res.setHeader('Cache-Control', `public, max-age=${httpCachingOptions.maxAge}`);\n }\n\n // Set Vary header for proper caching\n if (httpCachingOptions.vary && httpCachingOptions.vary.length > 0) {\n res.setHeader('Vary', httpCachingOptions.vary.join(', '));\n }\n\n // Wrap response methods to add HTTP caching\n const originalJson = res.json;\n const originalSend = res.send;\n const originalEnd = res.end;\n\n // Handle ETags and conditional requests\n const handleHttpCaching = (content: string, _contentType?: string) => {\n if (res.headersSent || !httpCachingOptions.etag) return;\n\n // Generate ETag\n const etagValue = generateETagCached(\n content,\n httpCachingOptions.etag as 'strong' | 'weak'\n );\n res.setHeader('ETag', etagValue);\n\n // Handle conditional requests\n if (httpCachingOptions.conditionalRequests) {\n const ifNoneMatch = req.headers['if-none-match'];\n if (ifNoneMatch && (ifNoneMatch === etagValue || ifNoneMatch === '*')) {\n res.status(304).end();\n return true; // Request handled\n }\n\n // Handle If-Modified-Since for static content\n const lastModified = res.getHeader('Last-Modified') || new Date().toUTCString();\n const ifModifiedSince = req.headers['if-modified-since'];\n\n if (ifModifiedSince && new Date(ifModifiedSince) >= new Date(lastModified)) {\n res.status(304).end();\n return true; // Request handled\n }\n\n // Set Last-Modified if not already set\n if (!res.getHeader('Last-Modified')) {\n res.setHeader('Last-Modified', lastModified);\n }\n }\n\n return false; // Continue with normal response\n };\n\n // Override response methods\n res.json = function (data: any) {\n const content = JSON.stringify(data);\n if (!handleHttpCaching(content, 'application/json')) {\n return originalJson.call(this, data);\n }\n };\n\n res.send = function (data: any) {\n const content = typeof data === 'string' ? data : JSON.stringify(data);\n if (!handleHttpCaching(content)) {\n return originalSend.call(this, data);\n }\n };\n\n res.end = function (data?: any) {\n if (data && typeof data === 'string') {\n handleHttpCaching(data);\n }\n return originalEnd.call(this, data);\n };\n\n // Add convenience methods\n res.setCacheHeaders = (\n cacheOptions: {\n maxAge?: number;\n cacheControl?: string;\n vary?: string[];\n lastModified?: string;\n } = {}\n ) => {\n const {\n maxAge: headerMaxAge,\n cacheControl: headerCacheControl,\n vary: headerVary,\n lastModified,\n } = cacheOptions;\n\n if (headerCacheControl && !res.headersSent) {\n res.setHeader('Cache-Control', headerCacheControl);\n } else if (headerMaxAge && !res.headersSent) {\n res.setHeader('Cache-Control', `public, max-age=${headerMaxAge}`);\n }\n\n if (headerVary && headerVary.length > 0 && !res.headersSent) {\n res.setHeader('Vary', headerVary.join(', '));\n }\n\n if (lastModified && !res.headersSent) {\n res.setHeader('Last-Modified', lastModified);\n }\n\n return res;\n };\n\n // Legacy ETag method for backward compatibility\n if (httpCachingOptions.etag) {\n res.generateETag = (content: string | Buffer) => {\n const contentStr = typeof content === 'string' ? content : content.toString();\n return generateETagCached(contentStr, httpCachingOptions.etag as 'strong' | 'weak');\n };\n }\n }\n });\n\n logger.info('Cache middleware installed', 'Installation', {\n adapter: typeof options.adapter === 'string' ? options.adapter : 'custom',\n strategies: Object.keys(options.strategies || {}).length,\n });\n },\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cache/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,oDAAoD;AAEpD,6DAA6D;AAC7D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAoB,MAAM,WAAW,CAAC;AAEzE,qCAAqC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,iEAAiE;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cache/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,oDAAoD;AAEpD,6DAA6D;AAC7D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAoB,MAAM,WAAW,CAAC;AAEzE,qCAAqC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,iEAAiE;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// Cache - Main entry point\n// Re-exports all public APIs for the cache built-in\n\n// Core (for direct use by router and custom implementations)\nexport { CacheCore, sharedCacheCore, type CacheConfig } from './core.js';\n\n// Middleware (for middleware chains)\nexport { createCacheMiddleware } from './middleware.js';\n\n// Hook (for global registration with server-side + HTTP caching)\nexport { cache } from './hook.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cache/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAoB,MAAM,WAAW,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAgB,EAAE,EAAE;QACpD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAE9F,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAS,EAAE,EAAE;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cache/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAoB,MAAM,WAAW,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAgB,EAAE,EAAE;QACpD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAE9F,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAS,EAAE,EAAE;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Cache Middleware - Standard (req, res, next) middleware function\nimport { StandardMiddleware } from '../../../../types/hooks.js';\nimport { sharedCacheCore, type CacheConfig } from './core.js';\n\n/**\n * Create cache middleware for use in middleware chains\n *\n * @example\n * ```ts\n * const cacheMw = createCacheMiddleware({\n * ttl: 60,\n * key: 'my-route',\n * tags: ['api', 'users']\n * });\n *\n * app.use(cacheMw);\n * ```\n */\nexport function createCacheMiddleware(config: CacheConfig): StandardMiddleware {\n if (!config || !config.ttl) {\n return (_req, _res, next) => next();\n }\n\n return async (req: any, res: any, next: () => void) => {\n if (req.method !== 'GET') {\n next();\n return;\n }\n\n const cacheKey = config.key || `${req.method}:${req.path}:${JSON.stringify(req.query || {})}`;\n\n const cached = sharedCacheCore.get(cacheKey);\n if (cached !== undefined) {\n res.setHeader('X-Cache', 'HIT');\n res.json(cached);\n return;\n }\n\n res.setHeader('X-Cache', 'MISS');\n\n const originalJson = res.json.bind(res);\n res.json = (data: any) => {\n sharedCacheCore.set(cacheKey, data, config.ttl);\n\n if (config.tags && config.tags.length > 0) {\n res.setHeader('X-Cache-Tags', config.tags.join(','));\n }\n\n return originalJson(data);\n };\n\n next();\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cdn/adapters/cdn/azure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../../../../../src/core/middleware/built-in/cdn/adapters/cdn/azure.ts"],"names":[],"mappings":"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","sourcesContent":["// Azure CDN Adapter\nimport { CDNAdapter } from '../../../../../../types/cdn.js';\nimport { createFrameworkLogger } from '../../../../../logger/index.js';\n\nconst logger = createFrameworkLogger('AzureCDNAdapter');\n\ninterface AzureTokenResponse {\n access_token: string;\n expires_in: number;\n token_type: string;\n}\n\nexport class AzureCDNAdapter implements CDNAdapter {\n private endpoint: string;\n private subscriptionId: string;\n private resourceGroup: string;\n private profileName: string;\n private endpointName: string;\n private clientId?: string | undefined;\n private clientSecret?: string | undefined;\n private tenantId?: string | undefined;\n private accessToken?: string;\n private tokenExpiry?: number;\n private cacheControlMaxAge: number;\n\n constructor(options: {\n subscriptionId: string;\n resourceGroup: string;\n profileName: string;\n endpointName: string;\n endpoint: string;\n clientId?: string;\n clientSecret?: string;\n tenantId?: string;\n cacheControlMaxAge?: number;\n }) {\n this.subscriptionId = options.subscriptionId;\n this.resourceGroup = options.resourceGroup;\n this.profileName = options.profileName;\n this.endpointName = options.endpointName;\n this.endpoint = options.endpoint;\n this.clientId = options.clientId;\n this.clientSecret = options.clientSecret;\n this.tenantId = options.tenantId;\n this.cacheControlMaxAge = options.cacheControlMaxAge ?? 3600;\n\n logger.info('Azure CDN adapter initialized', 'AzureCDN');\n }\n\n private async getAccessToken(): Promise<string> {\n if (!this.clientId || !this.clientSecret || !this.tenantId) {\n throw new Error(\n 'Azure credentials (clientId, clientSecret, tenantId) are required for API operations'\n );\n }\n\n if (this.accessToken && this.tokenExpiry && Date.now() < this.tokenExpiry) {\n return this.accessToken;\n }\n\n try {\n const tokenUrl = `https://login.microsoftonline.com/${this.tenantId}/oauth2/v2.0/token`;\n const params = new URLSearchParams({\n client_id: this.clientId,\n client_secret: this.clientSecret,\n scope: 'https://management.azure.com/.default',\n grant_type: 'client_credentials',\n });\n\n const response = await fetch(tokenUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: params.toString(),\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n throw new Error(`Failed to get Azure access token: ${response.status} ${errorText}`);\n }\n\n const data = (await response.json()) as AzureTokenResponse;\n this.accessToken = data.access_token;\n this.tokenExpiry = Date.now() + (data.expires_in - 300) * 1000;\n\n return this.accessToken;\n } catch (error) {\n logger.error('Failed to obtain Azure access token', 'AzureCDN', { error });\n throw error;\n }\n }\n\n async purge(urls: string[]): Promise<void> {\n if (!urls || urls.length === 0) {\n logger.warn('No URLs provided for purge', 'AzureCDN');\n return;\n }\n\n try {\n const accessToken = await this.getAccessToken();\n const purgeUrl = `https://management.azure.com/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroup}/providers/Microsoft.Cdn/profiles/${this.profileName}/endpoints/${this.endpointName}/purge?api-version=2021-06-01`;\n\n const purgeData = {\n contentPaths: urls.map(url => (url.startsWith('/') ? url : `/${url}`)),\n };\n\n logger.info(`Azure CDN cache purge requested: ${urls.length} URLs`, 'AzureCDN');\n\n const response = await fetch(purgeUrl, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(purgeData),\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n throw new Error(`Azure CDN purge failed: ${response.status} ${errorText}`);\n }\n\n logger.info(`Azure CDN cache purged successfully for ${urls.length} URLs`, 'AzureCDN');\n } catch (error) {\n logger.error('Azure CDN purge failed', 'AzureCDN', { error, urls });\n throw error;\n }\n }\n\n async prefetch(urls: string[]): Promise<void> {\n if (!urls || urls.length === 0) {\n logger.warn('No URLs provided for prefetch', 'AzureCDN');\n return;\n }\n\n try {\n const accessToken = await this.getAccessToken();\n const loadUrl = `https://management.azure.com/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroup}/providers/Microsoft.Cdn/profiles/${this.profileName}/endpoints/${this.endpointName}/load?api-version=2021-06-01`;\n\n const loadData = {\n contentPaths: urls.map(url => (url.startsWith('/') ? url : `/${url}`)),\n };\n\n logger.debug(`Azure CDN prefetch requested for ${urls.length} URLs`, 'AzureCDN');\n\n const response = await fetch(loadUrl, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(loadData),\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n throw new Error(`Azure CDN prefetch failed: ${response.status} ${errorText}`);\n }\n\n logger.info(`Azure CDN prefetch completed successfully for ${urls.length} URLs`, 'AzureCDN');\n } catch (error) {\n logger.error('Azure CDN prefetch failed', 'AzureCDN', { error, urls });\n throw error;\n }\n }\n\n setHeaders(response: any): void {\n if (!response || typeof response.setHeader !== 'function') {\n logger.warn('Invalid response object provided to setHeaders', 'AzureCDN');\n return;\n }\n\n response.setHeader('Cache-Control', `public, max-age=${this.cacheControlMaxAge}`);\n response.setHeader('X-CDN-Provider', 'Azure');\n }\n}\n"]}
|