@webda/core 4.0.0-beta.1 → 4.0.0-beta.3
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 +252 -0
- package/lib/application/application.d.ts +437 -0
- package/lib/application/application.d.ts.map +1 -0
- package/lib/application/application.js +792 -0
- package/lib/application/application.js.map +1 -0
- package/lib/application/hooks.d.ts +34 -0
- package/lib/application/hooks.d.ts.map +1 -0
- package/lib/application/hooks.js +57 -0
- package/lib/application/hooks.js.map +1 -0
- package/lib/application/iapplication.d.ts +43 -0
- package/lib/application/iapplication.d.ts.map +1 -0
- package/lib/application/iapplication.js +2 -0
- package/lib/application/iapplication.js.map +1 -0
- package/lib/application/iconfiguration.d.ts +176 -0
- package/lib/application/iconfiguration.d.ts.map +1 -0
- package/lib/application/iconfiguration.js +8 -0
- package/lib/application/iconfiguration.js.map +1 -0
- package/lib/application/runner.d.ts +8 -0
- package/lib/application/runner.d.ts.map +1 -0
- package/lib/application/runner.js +26 -0
- package/lib/application/runner.js.map +1 -0
- package/lib/application/unpackedapplication.d.ts +104 -0
- package/lib/application/unpackedapplication.d.ts.map +1 -0
- package/lib/application/unpackedapplication.js +492 -0
- package/lib/application/unpackedapplication.js.map +1 -0
- package/lib/bin/cli-phase.d.ts +28 -0
- package/lib/bin/cli-phase.d.ts.map +1 -0
- package/lib/bin/cli-phase.js +44 -0
- package/lib/bin/cli-phase.js.map +1 -0
- package/lib/bin/cli.d.ts +161 -0
- package/lib/bin/cli.d.ts.map +1 -0
- package/lib/bin/cli.js +828 -0
- package/lib/bin/cli.js.map +1 -0
- package/lib/bin/launcher.d.ts +3 -0
- package/lib/bin/launcher.d.ts.map +1 -0
- package/lib/bin/launcher.js +50 -0
- package/lib/bin/launcher.js.map +1 -0
- package/lib/cache/cache.d.ts +33 -0
- package/lib/cache/cache.d.ts.map +1 -0
- package/lib/cache/cache.js +8 -0
- package/lib/cache/cache.js.map +1 -0
- package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -49
- package/lib/configurations/configuration.service.d.ts.map +1 -0
- package/lib/configurations/configuration.service.js +248 -0
- package/lib/configurations/configuration.service.js.map +1 -0
- package/lib/configurations/fileconfiguration.service.d.ts +30 -0
- package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
- package/lib/configurations/fileconfiguration.service.js +65 -0
- package/lib/configurations/fileconfiguration.service.js.map +1 -0
- package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
- package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
- package/lib/configurations/kubernetesconfiguration.service.js +83 -0
- package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
- package/lib/contexts/execution.d.ts +33 -0
- package/lib/contexts/execution.d.ts.map +1 -0
- package/lib/contexts/execution.js +73 -0
- package/lib/contexts/execution.js.map +1 -0
- package/lib/contexts/globalcontext.d.ts +29 -0
- package/lib/contexts/globalcontext.d.ts.map +1 -0
- package/lib/contexts/globalcontext.js +38 -0
- package/lib/contexts/globalcontext.js.map +1 -0
- package/lib/{utils → contexts}/httpcontext.d.ts +45 -19
- package/lib/contexts/httpcontext.d.ts.map +1 -0
- package/lib/{utils → contexts}/httpcontext.js +102 -34
- package/lib/contexts/httpcontext.js.map +1 -0
- package/lib/contexts/icontext.d.ts +236 -0
- package/lib/contexts/icontext.d.ts.map +1 -0
- package/lib/contexts/icontext.js +230 -0
- package/lib/contexts/icontext.js.map +1 -0
- package/lib/contexts/operationcontext.d.ts +179 -0
- package/lib/contexts/operationcontext.d.ts.map +1 -0
- package/lib/contexts/operationcontext.js +358 -0
- package/lib/contexts/operationcontext.js.map +1 -0
- package/lib/contexts/simplecontext.d.ts +31 -0
- package/lib/contexts/simplecontext.d.ts.map +1 -0
- package/lib/contexts/simplecontext.js +45 -0
- package/lib/contexts/simplecontext.js.map +1 -0
- package/lib/contexts/webcontext.d.ts +218 -0
- package/lib/contexts/webcontext.d.ts.map +1 -0
- package/lib/contexts/webcontext.js +389 -0
- package/lib/contexts/webcontext.js.map +1 -0
- package/lib/core/authorizer.d.ts +23 -0
- package/lib/core/authorizer.d.ts.map +1 -0
- package/lib/core/authorizer.js +17 -0
- package/lib/core/authorizer.js.map +1 -0
- package/lib/core/core.d.ts +225 -0
- package/lib/core/core.d.ts.map +1 -0
- package/lib/core/core.js +576 -0
- package/lib/core/core.js.map +1 -0
- package/lib/core/hooks.d.ts +72 -0
- package/lib/core/hooks.d.ts.map +1 -0
- package/lib/core/hooks.js +73 -0
- package/lib/core/hooks.js.map +1 -0
- package/lib/core/icore.d.ts +249 -0
- package/lib/core/icore.d.ts.map +1 -0
- package/lib/core/icore.js +15 -0
- package/lib/core/icore.js.map +1 -0
- package/lib/core/instancestorage.d.ts +61 -0
- package/lib/core/instancestorage.d.ts.map +1 -0
- package/lib/core/instancestorage.js +75 -0
- package/lib/core/instancestorage.js.map +1 -0
- package/lib/core/operations.d.ts +181 -0
- package/lib/core/operations.d.ts.map +1 -0
- package/lib/core/operations.js +559 -0
- package/lib/core/operations.js.map +1 -0
- package/lib/errors/errors.d.ts +126 -0
- package/lib/errors/errors.d.ts.map +1 -0
- package/lib/errors/errors.js +165 -0
- package/lib/errors/errors.js.map +1 -0
- package/lib/events/asynceventemitter.d.ts +159 -0
- package/lib/events/asynceventemitter.d.ts.map +1 -0
- package/lib/events/asynceventemitter.js +152 -0
- package/lib/events/asynceventemitter.js.map +1 -0
- package/lib/events/events.d.ts +112 -0
- package/lib/events/events.d.ts.map +1 -0
- package/lib/events/events.js +45 -0
- package/lib/events/events.js.map +1 -0
- package/lib/index.d.ts +84 -51
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +82 -59
- package/lib/index.js.map +1 -1
- package/lib/loggers/console.service.d.ts +24 -0
- package/lib/loggers/console.service.d.ts.map +1 -0
- package/lib/loggers/console.service.js +30 -0
- package/lib/loggers/console.service.js.map +1 -0
- package/lib/loggers/file.service.d.ts +25 -0
- package/lib/loggers/file.service.d.ts.map +1 -0
- package/lib/loggers/file.service.js +33 -0
- package/lib/loggers/file.service.js.map +1 -0
- package/lib/loggers/hooks.d.ts +20 -0
- package/lib/loggers/hooks.d.ts.map +1 -0
- package/lib/loggers/hooks.js +40 -0
- package/lib/loggers/hooks.js.map +1 -0
- package/lib/loggers/ilogger.d.ts +76 -0
- package/lib/loggers/ilogger.d.ts.map +1 -0
- package/lib/loggers/ilogger.js +108 -0
- package/lib/loggers/ilogger.js.map +1 -0
- package/lib/loggers/logger.d.ts +13 -0
- package/lib/loggers/logger.d.ts.map +1 -0
- package/lib/loggers/logger.js +18 -0
- package/lib/loggers/logger.js.map +1 -0
- package/lib/loggers/memory.service.d.ts +18 -0
- package/lib/loggers/memory.service.d.ts.map +1 -0
- package/lib/loggers/memory.service.js +21 -0
- package/lib/loggers/memory.service.js.map +1 -0
- package/lib/loggers/params.d.ts +47 -0
- package/lib/loggers/params.d.ts.map +1 -0
- package/lib/loggers/params.js +56 -0
- package/lib/loggers/params.js.map +1 -0
- package/lib/metrics/metrics.d.ts +25 -0
- package/lib/metrics/metrics.d.ts.map +1 -0
- package/lib/metrics/metrics.js +51 -0
- package/lib/metrics/metrics.js.map +1 -0
- package/lib/models/aclmodel.d.ts +21 -77
- package/lib/models/aclmodel.d.ts.map +1 -0
- package/lib/models/aclmodel.js +27 -204
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/coremodel.model.d.ts +5 -0
- package/lib/models/coremodel.model.d.ts.map +1 -0
- package/lib/models/coremodel.model.js +5 -0
- package/lib/models/coremodel.model.js.map +1 -0
- package/lib/models/decorator.d.ts +63 -0
- package/lib/models/decorator.d.ts.map +1 -0
- package/lib/models/decorator.js +63 -0
- package/lib/models/decorator.js.map +1 -0
- package/lib/models/deployment.d.ts +2 -1
- package/lib/models/deployment.d.ts.map +1 -0
- package/lib/models/ident.model.d.ts +89 -0
- package/lib/models/ident.model.d.ts.map +1 -0
- package/lib/models/ident.model.js +115 -0
- package/lib/models/ident.model.js.map +1 -0
- package/lib/models/ownermodel.model.d.ts +68 -0
- package/lib/models/ownermodel.model.d.ts.map +1 -0
- package/lib/models/ownermodel.model.js +112 -0
- package/lib/models/ownermodel.model.js.map +1 -0
- package/lib/models/registry.model.d.ts +76 -0
- package/lib/models/registry.model.d.ts.map +1 -0
- package/lib/models/registry.model.js +104 -0
- package/lib/models/registry.model.js.map +1 -0
- package/lib/models/rolemodel.model.d.ts +28 -0
- package/lib/models/rolemodel.model.d.ts.map +1 -0
- package/lib/models/rolemodel.model.js +53 -0
- package/lib/models/rolemodel.model.js.map +1 -0
- package/lib/models/simpleuser.model.d.ts +78 -0
- package/lib/models/simpleuser.model.d.ts.map +1 -0
- package/lib/models/simpleuser.model.js +123 -0
- package/lib/models/simpleuser.model.js.map +1 -0
- package/lib/models/types.d.ts +113 -0
- package/lib/models/types.d.ts.map +1 -0
- package/lib/models/types.js +2 -0
- package/lib/models/types.js.map +1 -0
- package/lib/models/user.model.d.ts +103 -0
- package/lib/models/user.model.d.ts.map +1 -0
- package/lib/models/user.model.js +125 -0
- package/lib/models/user.model.js.map +1 -0
- package/lib/queues/memoryqueue.service.d.ts +72 -0
- package/lib/queues/memoryqueue.service.d.ts.map +1 -0
- package/lib/queues/memoryqueue.service.js +136 -0
- package/lib/queues/memoryqueue.service.js.map +1 -0
- package/lib/queues/pubsubservice.d.ts +9 -6
- package/lib/queues/pubsubservice.d.ts.map +1 -0
- package/lib/queues/pubsubservice.js +5 -4
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queueservice.d.ts +10 -11
- package/lib/queues/queueservice.d.ts.map +1 -0
- package/lib/queues/queueservice.js +48 -20
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/rest/hooks.d.ts +8 -0
- package/lib/rest/hooks.d.ts.map +1 -0
- package/lib/rest/hooks.js +10 -0
- package/lib/rest/hooks.js.map +1 -0
- package/lib/rest/irest.d.ts +212 -0
- package/lib/rest/irest.d.ts.map +1 -0
- package/lib/rest/irest.js +39 -0
- package/lib/rest/irest.js.map +1 -0
- package/lib/rest/originfilter.d.ts +38 -0
- package/lib/rest/originfilter.d.ts.map +1 -0
- package/lib/rest/originfilter.js +61 -0
- package/lib/rest/originfilter.js.map +1 -0
- package/lib/rest/restoperationstransport.service.d.ts +193 -0
- package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
- package/lib/rest/restoperationstransport.service.js +780 -0
- package/lib/rest/restoperationstransport.service.js.map +1 -0
- package/lib/rest/router.service.d.ts +244 -0
- package/lib/rest/router.service.d.ts.map +1 -0
- package/lib/rest/router.service.js +843 -0
- package/lib/rest/router.service.js.map +1 -0
- package/lib/schemas/hooks.d.ts +48 -0
- package/lib/schemas/hooks.d.ts.map +1 -0
- package/lib/schemas/hooks.js +152 -0
- package/lib/schemas/hooks.js.map +1 -0
- package/lib/services/audit.model.d.ts +208 -0
- package/lib/services/audit.model.d.ts.map +1 -0
- package/lib/services/audit.model.js +431 -0
- package/lib/services/audit.model.js.map +1 -0
- package/lib/services/{authentication.d.ts → authentication.service.d.ts} +140 -58
- package/lib/services/authentication.service.d.ts.map +1 -0
- package/lib/services/authentication.service.js +932 -0
- package/lib/services/authentication.service.js.map +1 -0
- package/lib/services/binary.service.d.ts +808 -0
- package/lib/services/binary.service.d.ts.map +1 -0
- package/lib/services/binary.service.js +1365 -0
- package/lib/services/binary.service.js.map +1 -0
- package/lib/services/cloudbinary.d.ts +19 -13
- package/lib/services/cloudbinary.d.ts.map +1 -0
- package/lib/services/cloudbinary.js +24 -18
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/command.d.ts +118 -0
- package/lib/services/command.d.ts.map +1 -0
- package/lib/services/command.js +97 -0
- package/lib/services/command.js.map +1 -0
- package/lib/services/cron.service.d.ts +142 -0
- package/lib/services/cron.service.d.ts.map +1 -0
- package/lib/services/cron.service.js +291 -0
- package/lib/services/cron.service.js.map +1 -0
- package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +77 -142
- package/lib/services/cryptoservice.service.d.ts.map +1 -0
- package/lib/services/cryptoservice.service.js +527 -0
- package/lib/services/cryptoservice.service.js.map +1 -0
- package/lib/services/debugmailer.service.d.ts +49 -0
- package/lib/services/debugmailer.service.d.ts.map +1 -0
- package/lib/services/debugmailer.service.js +66 -0
- package/lib/services/debugmailer.service.js.map +1 -0
- package/lib/services/domainservice.service.d.ts +203 -0
- package/lib/services/domainservice.service.d.ts.map +1 -0
- package/lib/services/domainservice.service.js +600 -0
- package/lib/services/domainservice.service.js.map +1 -0
- package/lib/services/httpserver.service.d.ts +248 -0
- package/lib/services/httpserver.service.d.ts.map +1 -0
- package/lib/services/httpserver.service.js +673 -0
- package/lib/services/httpserver.service.js.map +1 -0
- package/lib/services/iauthentication.d.ts +9 -0
- package/lib/services/iauthentication.d.ts.map +1 -0
- package/lib/services/iauthentication.js +2 -0
- package/lib/services/iauthentication.js.map +1 -0
- package/lib/services/icryptoservice.d.ts +127 -0
- package/lib/services/icryptoservice.d.ts.map +1 -0
- package/lib/services/icryptoservice.js +68 -0
- package/lib/services/icryptoservice.js.map +1 -0
- package/lib/services/imailer.d.ts +17 -0
- package/lib/services/imailer.d.ts.map +1 -0
- package/lib/services/imailer.js +2 -0
- package/lib/services/imailer.js.map +1 -0
- package/lib/services/iservice.d.ts +104 -0
- package/lib/services/iservice.d.ts.map +1 -0
- package/lib/services/iservice.js +63 -0
- package/lib/services/iservice.js.map +1 -0
- package/lib/services/mailer.service.d.ts +220 -0
- package/lib/services/mailer.service.d.ts.map +1 -0
- package/lib/services/mailer.service.js +251 -0
- package/lib/services/mailer.service.js.map +1 -0
- package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -10
- package/lib/services/notificationservice.service.d.ts.map +1 -0
- package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
- package/lib/services/notificationservice.service.js.map +1 -0
- package/lib/services/oauth.d.ts +58 -31
- package/lib/services/oauth.d.ts.map +1 -0
- package/lib/services/oauth.js +365 -251
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/operationstransport.d.ts +65 -0
- package/lib/services/operationstransport.d.ts.map +1 -0
- package/lib/services/operationstransport.js +103 -0
- package/lib/services/operationstransport.js.map +1 -0
- package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -11
- package/lib/services/prometheus.service.d.ts.map +1 -0
- package/lib/services/prometheus.service.js +203 -0
- package/lib/services/prometheus.service.js.map +1 -0
- package/lib/services/resource.service.d.ts +121 -0
- package/lib/services/resource.service.d.ts.map +1 -0
- package/lib/services/resource.service.js +301 -0
- package/lib/services/resource.service.js.map +1 -0
- package/lib/services/service.d.ts +88 -189
- package/lib/services/service.d.ts.map +1 -0
- package/lib/services/service.js +407 -432
- package/lib/services/service.js.map +1 -1
- package/lib/services/servicecommands.d.ts +99 -0
- package/lib/services/servicecommands.d.ts.map +1 -0
- package/lib/services/servicecommands.js +165 -0
- package/lib/services/servicecommands.js.map +1 -0
- package/lib/services/serviceparameters.d.ts +33 -0
- package/lib/services/serviceparameters.d.ts.map +1 -0
- package/lib/services/serviceparameters.js +79 -0
- package/lib/services/serviceparameters.js.map +1 -0
- package/lib/{utils → session}/cookie.d.ts +32 -18
- package/lib/session/cookie.d.ts.map +1 -0
- package/lib/{utils → session}/cookie.js +76 -23
- package/lib/session/cookie.js.map +1 -0
- package/lib/session/manager.model.d.ts +71 -0
- package/lib/session/manager.model.d.ts.map +1 -0
- package/lib/session/manager.model.js +155 -0
- package/lib/session/manager.model.js.map +1 -0
- package/lib/session/session.d.ts +57 -0
- package/lib/session/session.d.ts.map +1 -0
- package/lib/session/session.js +126 -0
- package/lib/session/session.js.map +1 -0
- package/lib/stores/istore.d.ts +99 -0
- package/lib/stores/istore.d.ts.map +1 -0
- package/lib/stores/istore.js +26 -0
- package/lib/stores/istore.js.map +1 -0
- package/lib/stores/memory.service.d.ts +114 -0
- package/lib/stores/memory.service.d.ts.map +1 -0
- package/lib/stores/memory.service.js +343 -0
- package/lib/stores/memory.service.js.map +1 -0
- package/lib/stores/store.d.ts +127 -768
- package/lib/stores/store.d.ts.map +1 -0
- package/lib/stores/store.js +258 -1718
- package/lib/stores/store.js.map +1 -1
- package/lib/templates/templates.d.ts +39 -0
- package/lib/templates/templates.d.ts.map +1 -0
- package/lib/templates/templates.js +92 -0
- package/lib/templates/templates.js.map +1 -0
- package/lib/test/application.d.ts +174 -0
- package/lib/test/application.d.ts.map +1 -0
- package/lib/test/application.js +288 -0
- package/lib/test/application.js.map +1 -0
- package/lib/test/asyncstorage.d.ts +16 -0
- package/lib/test/asyncstorage.d.ts.map +1 -0
- package/lib/test/asyncstorage.js +32 -0
- package/lib/test/asyncstorage.js.map +1 -0
- package/lib/test/core.d.ts +63 -0
- package/lib/test/core.d.ts.map +1 -0
- package/lib/test/core.js +190 -0
- package/lib/test/core.js.map +1 -0
- package/lib/test/index.d.ts +7 -0
- package/lib/test/index.d.ts.map +1 -0
- package/lib/test/index.js +8 -0
- package/lib/test/index.js.map +1 -0
- package/lib/test/internal.d.ts +34 -0
- package/lib/test/internal.d.ts.map +1 -0
- package/lib/test/internal.js +156 -0
- package/lib/test/internal.js.map +1 -0
- package/lib/test/objects.d.ts +318 -0
- package/lib/test/objects.d.ts.map +1 -0
- package/lib/test/objects.js +443 -0
- package/lib/test/objects.js.map +1 -0
- package/lib/utils/abstractdeployer.d.ts +5 -2
- package/lib/utils/abstractdeployer.d.ts.map +1 -0
- package/lib/utils/abstractdeployer.js +3 -0
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/package.json +85 -56
- package/test/cachedapp/webda.config.json +1 -5
- package/test/config-cached.json +1 -5
- package/test/config.json +6 -99
- package/test/data/.env +1 -0
- package/test/my-cnf.json +9 -0
- package/webda.module.json +3462 -2231
- package/lib/application.d.ts +0 -876
- package/lib/application.js +0 -741
- package/lib/application.js.map +0 -1
- package/lib/application.spec.d.ts +0 -1
- package/lib/application.spec.js +0 -234
- package/lib/application.spec.js.map +0 -1
- package/lib/core.d.ts +0 -740
- package/lib/core.js +0 -1310
- package/lib/core.js.map +0 -1
- package/lib/core.spec.d.ts +0 -1
- package/lib/core.spec.js +0 -761
- package/lib/core.spec.js.map +0 -1
- package/lib/errors.d.ts +0 -65
- package/lib/errors.js +0 -113
- package/lib/errors.js.map +0 -1
- package/lib/errors.spec.d.ts +0 -1
- package/lib/errors.spec.js +0 -33
- package/lib/errors.spec.js.map +0 -1
- package/lib/models/aclmodel.spec.d.ts +0 -1
- package/lib/models/aclmodel.spec.js +0 -187
- package/lib/models/aclmodel.spec.js.map +0 -1
- package/lib/models/coremodel.d.ts +0 -887
- package/lib/models/coremodel.js +0 -1208
- package/lib/models/coremodel.js.map +0 -1
- package/lib/models/coremodel.spec.d.ts +0 -1
- package/lib/models/coremodel.spec.js +0 -462
- package/lib/models/coremodel.spec.js.map +0 -1
- package/lib/models/ident.d.ts +0 -53
- package/lib/models/ident.js +0 -40
- package/lib/models/ident.js.map +0 -1
- package/lib/models/ident.spec.d.ts +0 -1
- package/lib/models/ident.spec.js +0 -43
- package/lib/models/ident.spec.js.map +0 -1
- package/lib/models/ownermodel.d.ts +0 -50
- package/lib/models/ownermodel.js +0 -65
- package/lib/models/ownermodel.js.map +0 -1
- package/lib/models/ownermodel.spec.d.ts +0 -1
- package/lib/models/ownermodel.spec.js +0 -191
- package/lib/models/ownermodel.spec.js.map +0 -1
- package/lib/models/relations.d.ts +0 -181
- package/lib/models/relations.js +0 -157
- package/lib/models/relations.js.map +0 -1
- package/lib/models/relations.spec.d.ts +0 -12
- package/lib/models/relations.spec.js +0 -224
- package/lib/models/relations.spec.js.map +0 -1
- package/lib/models/rolemodel.d.ts +0 -10
- package/lib/models/rolemodel.js +0 -35
- package/lib/models/rolemodel.js.map +0 -1
- package/lib/models/rolemodel.spec.d.ts +0 -1
- package/lib/models/rolemodel.spec.js +0 -86
- package/lib/models/rolemodel.spec.js.map +0 -1
- package/lib/models/user.d.ts +0 -100
- package/lib/models/user.js +0 -157
- package/lib/models/user.js.map +0 -1
- package/lib/models/user.spec.d.ts +0 -1
- package/lib/models/user.spec.js +0 -88
- package/lib/models/user.spec.js.map +0 -1
- package/lib/queues/filequeue.d.ts +0 -58
- package/lib/queues/filequeue.js +0 -131
- package/lib/queues/filequeue.js.map +0 -1
- package/lib/queues/filequeue.spec.d.ts +0 -1
- package/lib/queues/filequeue.spec.js +0 -78
- package/lib/queues/filequeue.spec.js.map +0 -1
- package/lib/queues/memoryqueue.d.ts +0 -45
- package/lib/queues/memoryqueue.js +0 -81
- package/lib/queues/memoryqueue.js.map +0 -1
- package/lib/queues/memoryqueue.spec.d.ts +0 -1
- package/lib/queues/memoryqueue.spec.js +0 -192
- package/lib/queues/memoryqueue.spec.js.map +0 -1
- package/lib/queues/queue.spec.d.ts +0 -5
- package/lib/queues/queue.spec.js +0 -55
- package/lib/queues/queue.spec.js.map +0 -1
- package/lib/router.d.ts +0 -172
- package/lib/router.js +0 -419
- package/lib/router.js.map +0 -1
- package/lib/router.spec.d.ts +0 -1
- package/lib/router.spec.js +0 -229
- package/lib/router.spec.js.map +0 -1
- package/lib/services/asyncevents.d.ts +0 -151
- package/lib/services/asyncevents.js +0 -217
- package/lib/services/asyncevents.js.map +0 -1
- package/lib/services/asyncevents.spec.d.ts +0 -1
- package/lib/services/asyncevents.spec.js +0 -118
- package/lib/services/asyncevents.spec.js.map +0 -1
- package/lib/services/authentication.js +0 -772
- package/lib/services/authentication.js.map +0 -1
- package/lib/services/authentication.spec.d.ts +0 -1
- package/lib/services/authentication.spec.js +0 -458
- package/lib/services/authentication.spec.js.map +0 -1
- package/lib/services/binary.d.ts +0 -549
- package/lib/services/binary.js +0 -986
- package/lib/services/binary.js.map +0 -1
- package/lib/services/binary.spec.d.ts +0 -44
- package/lib/services/binary.spec.js +0 -438
- package/lib/services/binary.spec.js.map +0 -1
- package/lib/services/cloudbinary.spec.d.ts +0 -13
- package/lib/services/cloudbinary.spec.js +0 -192
- package/lib/services/cloudbinary.spec.js.map +0 -1
- package/lib/services/configuration.js +0 -178
- package/lib/services/configuration.js.map +0 -1
- package/lib/services/configuration.spec.d.ts +0 -1
- package/lib/services/configuration.spec.js +0 -87
- package/lib/services/configuration.spec.js.map +0 -1
- package/lib/services/cron.d.ts +0 -73
- package/lib/services/cron.js +0 -141
- package/lib/services/cron.js.map +0 -1
- package/lib/services/cron.spec.d.ts +0 -1
- package/lib/services/cron.spec.js +0 -76
- package/lib/services/cron.spec.js.map +0 -1
- package/lib/services/cryptoservice.js +0 -434
- package/lib/services/cryptoservice.js.map +0 -1
- package/lib/services/cryptoservice.spec.d.ts +0 -1
- package/lib/services/cryptoservice.spec.js +0 -177
- package/lib/services/cryptoservice.spec.js.map +0 -1
- package/lib/services/debugmailer.d.ts +0 -36
- package/lib/services/debugmailer.js +0 -52
- package/lib/services/debugmailer.js.map +0 -1
- package/lib/services/debugmailer.spec.d.ts +0 -1
- package/lib/services/debugmailer.spec.js +0 -29
- package/lib/services/debugmailer.spec.js.map +0 -1
- package/lib/services/domainservice.d.ts +0 -152
- package/lib/services/domainservice.js +0 -881
- package/lib/services/domainservice.js.map +0 -1
- package/lib/services/domainservice.spec.d.ts +0 -1
- package/lib/services/domainservice.spec.js +0 -401
- package/lib/services/domainservice.spec.js.map +0 -1
- package/lib/services/filebinary.d.ts +0 -133
- package/lib/services/filebinary.js +0 -371
- package/lib/services/filebinary.js.map +0 -1
- package/lib/services/filebinary.spec.d.ts +0 -21
- package/lib/services/filebinary.spec.js +0 -415
- package/lib/services/filebinary.spec.js.map +0 -1
- package/lib/services/fileconfiguration.d.ts +0 -22
- package/lib/services/fileconfiguration.js +0 -48
- package/lib/services/fileconfiguration.js.map +0 -1
- package/lib/services/fileconfiguration.spec.d.ts +0 -1
- package/lib/services/fileconfiguration.spec.js +0 -177
- package/lib/services/fileconfiguration.spec.js.map +0 -1
- package/lib/services/invitationservice.d.ts +0 -222
- package/lib/services/invitationservice.js +0 -526
- package/lib/services/invitationservice.js.map +0 -1
- package/lib/services/invitationservice.spec.d.ts +0 -1
- package/lib/services/invitationservice.spec.js +0 -516
- package/lib/services/invitationservice.spec.js.map +0 -1
- package/lib/services/kubernetesconfiguration.d.ts +0 -26
- package/lib/services/kubernetesconfiguration.js +0 -54
- package/lib/services/kubernetesconfiguration.js.map +0 -1
- package/lib/services/kubernetesconfiguration.spec.d.ts +0 -1
- package/lib/services/kubernetesconfiguration.spec.js +0 -147
- package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
- package/lib/services/mailer.d.ts +0 -165
- package/lib/services/mailer.js +0 -176
- package/lib/services/mailer.js.map +0 -1
- package/lib/services/mailer.spec.d.ts +0 -1
- package/lib/services/mailer.spec.js +0 -144
- package/lib/services/mailer.spec.js.map +0 -1
- package/lib/services/notificationservice.js.map +0 -1
- package/lib/services/notificationservice.spec.d.ts +0 -1
- package/lib/services/notificationservice.spec.js +0 -78
- package/lib/services/notificationservice.spec.js.map +0 -1
- package/lib/services/oauth.spec.d.ts +0 -1
- package/lib/services/oauth.spec.js +0 -184
- package/lib/services/oauth.spec.js.map +0 -1
- package/lib/services/prometheus.js +0 -160
- package/lib/services/prometheus.js.map +0 -1
- package/lib/services/prometheus.spec.d.ts +0 -1
- package/lib/services/prometheus.spec.js +0 -57
- package/lib/services/prometheus.spec.js.map +0 -1
- package/lib/services/resource.d.ts +0 -87
- package/lib/services/resource.js +0 -156
- package/lib/services/resource.js.map +0 -1
- package/lib/services/resource.spec.d.ts +0 -1
- package/lib/services/resource.spec.js +0 -122
- package/lib/services/resource.spec.js.map +0 -1
- package/lib/services/service.spec.d.ts +0 -1
- package/lib/services/service.spec.js +0 -268
- package/lib/services/service.spec.js.map +0 -1
- package/lib/stores/aggregator.d.ts +0 -41
- package/lib/stores/aggregator.js +0 -80
- package/lib/stores/aggregator.js.map +0 -1
- package/lib/stores/aliasstore.d.ts +0 -108
- package/lib/stores/aliasstore.js +0 -168
- package/lib/stores/aliasstore.js.map +0 -1
- package/lib/stores/aliasstore.spec.d.ts +0 -11
- package/lib/stores/aliasstore.spec.js +0 -89
- package/lib/stores/aliasstore.spec.js.map +0 -1
- package/lib/stores/file.d.ts +0 -107
- package/lib/stores/file.js +0 -188
- package/lib/stores/file.js.map +0 -1
- package/lib/stores/file.spec.d.ts +0 -19
- package/lib/stores/file.spec.js +0 -232
- package/lib/stores/file.spec.js.map +0 -1
- package/lib/stores/mapper.d.ts +0 -149
- package/lib/stores/mapper.js +0 -293
- package/lib/stores/mapper.js.map +0 -1
- package/lib/stores/mapper.spec.d.ts +0 -1
- package/lib/stores/mapper.spec.js +0 -160
- package/lib/stores/mapper.spec.js.map +0 -1
- package/lib/stores/memory.d.ts +0 -151
- package/lib/stores/memory.js +0 -371
- package/lib/stores/memory.js.map +0 -1
- package/lib/stores/memory.spec.d.ts +0 -20
- package/lib/stores/memory.spec.js +0 -328
- package/lib/stores/memory.spec.js.map +0 -1
- package/lib/stores/modelmapper.d.ts +0 -61
- package/lib/stores/modelmapper.js +0 -199
- package/lib/stores/modelmapper.js.map +0 -1
- package/lib/stores/store.spec.d.ts +0 -65
- package/lib/stores/store.spec.js +0 -906
- package/lib/stores/store.spec.js.map +0 -1
- package/lib/test.d.ts +0 -162
- package/lib/test.js +0 -399
- package/lib/test.js.map +0 -1
- package/lib/unpackedapplication.d.ts +0 -76
- package/lib/unpackedapplication.js +0 -299
- package/lib/unpackedapplication.js.map +0 -1
- package/lib/utils/abstractdeployer.spec.d.ts +0 -1
- package/lib/utils/abstractdeployer.spec.js +0 -21
- package/lib/utils/abstractdeployer.spec.js.map +0 -1
- package/lib/utils/case.d.ts +0 -7
- package/lib/utils/case.js +0 -43
- package/lib/utils/case.js.map +0 -1
- package/lib/utils/case.spec.d.ts +0 -1
- package/lib/utils/case.spec.js +0 -50
- package/lib/utils/case.spec.js.map +0 -1
- package/lib/utils/context.d.ts +0 -462
- package/lib/utils/context.js +0 -732
- package/lib/utils/context.js.map +0 -1
- package/lib/utils/context.spec.d.ts +0 -9
- package/lib/utils/context.spec.js +0 -372
- package/lib/utils/context.spec.js.map +0 -1
- package/lib/utils/cookie.js.map +0 -1
- package/lib/utils/cookie.spec.d.ts +0 -1
- package/lib/utils/cookie.spec.js +0 -78
- package/lib/utils/cookie.spec.js.map +0 -1
- package/lib/utils/esm.d.ts +0 -13
- package/lib/utils/esm.js +0 -19
- package/lib/utils/esm.js.map +0 -1
- package/lib/utils/httpcontext.js.map +0 -1
- package/lib/utils/httpcontext.spec.d.ts +0 -4
- package/lib/utils/httpcontext.spec.js +0 -77
- package/lib/utils/httpcontext.spec.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -91
- package/lib/utils/logger.js +0 -121
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/logger.spec.d.ts +0 -1
- package/lib/utils/logger.spec.js +0 -48
- package/lib/utils/logger.spec.js.map +0 -1
- package/lib/utils/serializers.d.ts +0 -161
- package/lib/utils/serializers.js +0 -420
- package/lib/utils/serializers.js.map +0 -1
- package/lib/utils/serializers.spec.d.ts +0 -1
- package/lib/utils/serializers.spec.js +0 -313
- package/lib/utils/serializers.spec.js.map +0 -1
- package/lib/utils/session.d.ts +0 -126
- package/lib/utils/session.js +0 -166
- package/lib/utils/session.js.map +0 -1
- package/lib/utils/session.spec.d.ts +0 -1
- package/lib/utils/session.spec.js +0 -71
- package/lib/utils/session.spec.js.map +0 -1
- package/lib/utils/throttler.d.ts +0 -102
- package/lib/utils/throttler.js +0 -168
- package/lib/utils/throttler.js.map +0 -1
- package/lib/utils/throttler.spec.d.ts +0 -1
- package/lib/utils/throttler.spec.js +0 -55
- package/lib/utils/throttler.spec.js.map +0 -1
- package/lib/utils/waiter.d.ts +0 -93
- package/lib/utils/waiter.js +0 -148
- package/lib/utils/waiter.js.map +0 -1
- package/lib/utils/waiter.spec.d.ts +0 -1
- package/lib/utils/waiter.spec.js +0 -98
- package/lib/utils/waiter.spec.js.map +0 -1
- package/test/config-file-missing-file-no-default.json +0 -44
- package/test/config-file-missing-file.json +0 -55
- package/test/config-file-no-reload.json +0 -69
- package/test/config-file-reload.json +0 -68
- package/test/config-invitation.json +0 -63
- package/test/config-kube-reload.json +0 -68
- package/test/config-reload.json +0 -66
- package/test/config.old.json +0 -152
- package/test/jsonutils/mdocs.yaml +0 -56
- package/test/jsonutils/test.json +0 -3
- package/test/jsonutils/test.yml +0 -5
- package/test/moddas/annotatedservice.js +0 -23
- package/test/moddas/debugmailer.js +0 -13
- package/test/moddas/fakeservice.js +0 -4
- package/test/moddas/voidstore.js +0 -66
- package/test/models/ident.js +0 -36
- package/test/models/task.js +0 -42
|
@@ -14,11 +14,46 @@ export const HttpMethodTypeAny = ["GET", "OPTIONS", "POST", "PUT", "PATCH", "DEL
|
|
|
14
14
|
* @category CoreFeatures
|
|
15
15
|
*/
|
|
16
16
|
export class HttpContext {
|
|
17
|
+
/**
|
|
18
|
+
* Hostname
|
|
19
|
+
*
|
|
20
|
+
* @example test.webda.io
|
|
21
|
+
*/
|
|
22
|
+
hostname;
|
|
23
|
+
/**
|
|
24
|
+
* HTTP Method
|
|
25
|
+
*/
|
|
26
|
+
method;
|
|
27
|
+
/**
|
|
28
|
+
* Pathname
|
|
29
|
+
*/
|
|
30
|
+
uri;
|
|
31
|
+
/**
|
|
32
|
+
* Get the client ip if available
|
|
33
|
+
*/
|
|
34
|
+
clientIp;
|
|
35
|
+
path;
|
|
36
|
+
search;
|
|
37
|
+
protocol;
|
|
38
|
+
port;
|
|
39
|
+
headers;
|
|
40
|
+
origin;
|
|
41
|
+
host;
|
|
42
|
+
body;
|
|
43
|
+
cookies;
|
|
44
|
+
/**
|
|
45
|
+
* URI prefix in case it is exposed through something that prefix the uri
|
|
46
|
+
*/
|
|
47
|
+
prefix = "";
|
|
48
|
+
/** Create a new HttpContext
|
|
49
|
+
* @param hostname - the request hostname
|
|
50
|
+
* @param method - the HTTP method
|
|
51
|
+
* @param uri - the request URI
|
|
52
|
+
* @param protocol - the protocol
|
|
53
|
+
* @param port - the port number
|
|
54
|
+
* @param headers - the request headers
|
|
55
|
+
*/
|
|
17
56
|
constructor(hostname, method, uri, protocol = "http", port = "80", headers = {}) {
|
|
18
|
-
/**
|
|
19
|
-
* URI prefix in case it is exposed through something that prefix the uri
|
|
20
|
-
*/
|
|
21
|
-
this.prefix = "";
|
|
22
57
|
this.hostname = hostname;
|
|
23
58
|
this.method = method;
|
|
24
59
|
this.uri = uri;
|
|
@@ -33,7 +68,7 @@ export class HttpContext {
|
|
|
33
68
|
this.protocol = protocol + ":";
|
|
34
69
|
this.port = port.toString();
|
|
35
70
|
this.headers = {};
|
|
36
|
-
for (
|
|
71
|
+
for (const i in headers) {
|
|
37
72
|
if (i.toLowerCase() === "cookie") {
|
|
38
73
|
this.cookies = Array.isArray(headers[i])
|
|
39
74
|
? headers[i].map(c => cookieParse(c))
|
|
@@ -54,6 +89,8 @@ export class HttpContext {
|
|
|
54
89
|
}
|
|
55
90
|
/**
|
|
56
91
|
* Set the client ip
|
|
92
|
+
* @param ip - the IP address
|
|
93
|
+
* @returns this for chaining
|
|
57
94
|
*/
|
|
58
95
|
setClientIp(ip) {
|
|
59
96
|
this.clientIp = ip;
|
|
@@ -61,6 +98,7 @@ export class HttpContext {
|
|
|
61
98
|
}
|
|
62
99
|
/**
|
|
63
100
|
* Get the client ip
|
|
101
|
+
* @returns the result string
|
|
64
102
|
*/
|
|
65
103
|
getClientIp() {
|
|
66
104
|
return this.clientIp;
|
|
@@ -68,7 +106,7 @@ export class HttpContext {
|
|
|
68
106
|
/**
|
|
69
107
|
*
|
|
70
108
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/href
|
|
71
|
-
* @returns
|
|
109
|
+
* @returns the result string
|
|
72
110
|
*/
|
|
73
111
|
getHref() {
|
|
74
112
|
return this.getAbsoluteUrl();
|
|
@@ -85,20 +123,33 @@ export class HttpContext {
|
|
|
85
123
|
}
|
|
86
124
|
/**
|
|
87
125
|
* Return Uri without prefix
|
|
126
|
+
*
|
|
127
|
+
* The prefix is only removed on a path boundary, so prefix `/prod` does not strip `/production`
|
|
128
|
+
* @returns the result string
|
|
88
129
|
*/
|
|
89
130
|
getRelativeUri() {
|
|
90
|
-
|
|
131
|
+
if (!this.prefix || !this.uri.startsWith(this.prefix)) {
|
|
132
|
+
return this.uri;
|
|
133
|
+
}
|
|
134
|
+
const relative = this.uri.substring(this.prefix.length);
|
|
135
|
+
if (relative === "" || relative.startsWith("?")) {
|
|
136
|
+
return "/" + relative;
|
|
137
|
+
}
|
|
138
|
+
if (!relative.startsWith("/")) {
|
|
139
|
+
return this.uri;
|
|
140
|
+
}
|
|
141
|
+
return relative;
|
|
91
142
|
}
|
|
92
143
|
/**
|
|
93
144
|
* Get full URI
|
|
94
|
-
* @returns
|
|
145
|
+
* @returns the result string
|
|
95
146
|
*/
|
|
96
147
|
getUrl() {
|
|
97
148
|
return this.uri;
|
|
98
149
|
}
|
|
99
150
|
/**
|
|
100
151
|
* Get cookies
|
|
101
|
-
* @returns
|
|
152
|
+
* @returns the result
|
|
102
153
|
*/
|
|
103
154
|
getCookies() {
|
|
104
155
|
return this.cookies;
|
|
@@ -107,12 +158,14 @@ export class HttpContext {
|
|
|
107
158
|
* Get port number as string
|
|
108
159
|
*
|
|
109
160
|
* If http on port 80, or https on port 443 will return ""
|
|
161
|
+
* @returns the result string
|
|
110
162
|
*/
|
|
111
163
|
getPort() {
|
|
112
164
|
return this.port;
|
|
113
165
|
}
|
|
114
166
|
/**
|
|
115
167
|
* Get the port number
|
|
168
|
+
* @returns the result number
|
|
116
169
|
*/
|
|
117
170
|
getPortNumber() {
|
|
118
171
|
if (this.port) {
|
|
@@ -127,35 +180,35 @@ export class HttpContext {
|
|
|
127
180
|
}
|
|
128
181
|
/**
|
|
129
182
|
* Return hostname and port
|
|
130
|
-
* @returns
|
|
183
|
+
* @returns the result string
|
|
131
184
|
*/
|
|
132
185
|
getHost() {
|
|
133
186
|
return this.host;
|
|
134
187
|
}
|
|
135
188
|
/**
|
|
136
189
|
* Return protocol, hostname and port
|
|
137
|
-
* @returns
|
|
190
|
+
* @returns the result string
|
|
138
191
|
*/
|
|
139
192
|
getOrigin() {
|
|
140
193
|
return this.origin;
|
|
141
194
|
}
|
|
142
195
|
/**
|
|
143
196
|
* Get the hostname
|
|
144
|
-
* @returns
|
|
197
|
+
* @returns the result string
|
|
145
198
|
*/
|
|
146
199
|
getHostName() {
|
|
147
200
|
return this.hostname;
|
|
148
201
|
}
|
|
149
202
|
/**
|
|
150
203
|
* Get HTTP Method used
|
|
151
|
-
* @returns
|
|
204
|
+
* @returns the result
|
|
152
205
|
*/
|
|
153
206
|
getMethod() {
|
|
154
207
|
return this.method;
|
|
155
208
|
}
|
|
156
209
|
/**
|
|
157
210
|
* Get protocol used
|
|
158
|
-
* @returns
|
|
211
|
+
* @returns the result
|
|
159
212
|
*/
|
|
160
213
|
getProtocol() {
|
|
161
214
|
return this.protocol;
|
|
@@ -166,12 +219,12 @@ export class HttpContext {
|
|
|
166
219
|
* @param limit the size of readable request
|
|
167
220
|
* @param timeout the time to read the request
|
|
168
221
|
* @param encoding to analyze
|
|
169
|
-
* @returns
|
|
222
|
+
* @returns the result
|
|
170
223
|
*/
|
|
171
224
|
async getRawBodyAsString(limit = 1024 * 1024 * 10, timeout = 60000, encoding) {
|
|
172
225
|
// Get charset from header
|
|
173
226
|
if (!encoding) {
|
|
174
|
-
|
|
227
|
+
const match = this.getUniqueHeader("content-type", "charset=utf-8").match(/charset=([^;\s]+)/);
|
|
175
228
|
if (match) {
|
|
176
229
|
encoding = match[1].trim();
|
|
177
230
|
}
|
|
@@ -189,18 +242,18 @@ export class HttpContext {
|
|
|
189
242
|
*
|
|
190
243
|
* @param limit the size of readable request
|
|
191
244
|
* @param timeout the time to read the request
|
|
192
|
-
* @returns
|
|
245
|
+
* @returns the result
|
|
193
246
|
*/
|
|
194
247
|
async getRawBody(limit = 1024 * 1024 * 10, timeout = 60000) {
|
|
195
248
|
if (this.body instanceof Readable) {
|
|
196
249
|
return new Promise((resolve, reject) => {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
250
|
+
const req = this.body;
|
|
251
|
+
const body = [];
|
|
252
|
+
const timeoutId = setTimeout(() => {
|
|
200
253
|
reject("Request timeout");
|
|
201
254
|
}, timeout);
|
|
202
255
|
req.on("readable", () => {
|
|
203
|
-
|
|
256
|
+
const chunk = req.read();
|
|
204
257
|
if (chunk !== null) {
|
|
205
258
|
if (chunk.length + body.length > limit) {
|
|
206
259
|
clearTimeout(timeoutId);
|
|
@@ -223,6 +276,7 @@ export class HttpContext {
|
|
|
223
276
|
}
|
|
224
277
|
/**
|
|
225
278
|
* Get the body as stream
|
|
279
|
+
* @returns the result
|
|
226
280
|
*/
|
|
227
281
|
getRawStream() {
|
|
228
282
|
if (this.body instanceof Readable) {
|
|
@@ -232,25 +286,28 @@ export class HttpContext {
|
|
|
232
286
|
}
|
|
233
287
|
/**
|
|
234
288
|
* Get HTTP Headers
|
|
235
|
-
* @returns
|
|
289
|
+
* @returns the result
|
|
236
290
|
*/
|
|
237
291
|
getHeaders() {
|
|
238
292
|
return this.headers;
|
|
239
293
|
}
|
|
240
294
|
/**
|
|
241
295
|
* Get header value
|
|
242
|
-
* @param name
|
|
243
|
-
* @param def
|
|
244
|
-
* @returns
|
|
296
|
+
* @param name - the name to use
|
|
297
|
+
* @param def - the default value
|
|
298
|
+
* @returns the list of results
|
|
245
299
|
*/
|
|
246
300
|
getHeader(name, def) {
|
|
247
301
|
return this.headers[name.toLowerCase()] || def;
|
|
248
302
|
}
|
|
249
303
|
/**
|
|
250
304
|
* Return the last header found with that name
|
|
305
|
+
* @param name - the name to use
|
|
306
|
+
* @param def - the default value
|
|
307
|
+
* @returns the result string
|
|
251
308
|
*/
|
|
252
309
|
getUniqueHeader(name, def) {
|
|
253
|
-
|
|
310
|
+
const header = this.getHeader(name, def);
|
|
254
311
|
if (Array.isArray(header)) {
|
|
255
312
|
return header.pop() || def;
|
|
256
313
|
}
|
|
@@ -258,7 +315,8 @@ export class HttpContext {
|
|
|
258
315
|
}
|
|
259
316
|
/**
|
|
260
317
|
* Used for test
|
|
261
|
-
* @param body
|
|
318
|
+
* @param body - the request body
|
|
319
|
+
* @returns this for chaining
|
|
262
320
|
*/
|
|
263
321
|
setBody(body) {
|
|
264
322
|
if (body instanceof Readable || body instanceof Buffer) {
|
|
@@ -279,7 +337,7 @@ export class HttpContext {
|
|
|
279
337
|
* Get request path name
|
|
280
338
|
*
|
|
281
339
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/pathname
|
|
282
|
-
* @returns
|
|
340
|
+
* @returns the result
|
|
283
341
|
*/
|
|
284
342
|
getPathName() {
|
|
285
343
|
return this.path;
|
|
@@ -288,21 +346,31 @@ export class HttpContext {
|
|
|
288
346
|
* Get search section
|
|
289
347
|
*
|
|
290
348
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/search
|
|
291
|
-
* @returns
|
|
349
|
+
* @returns the result
|
|
292
350
|
*/
|
|
293
351
|
getSearch() {
|
|
294
352
|
return this.search;
|
|
295
353
|
}
|
|
296
354
|
/**
|
|
355
|
+
* Return the absolute url of the request, or of an application uri
|
|
356
|
+
*
|
|
357
|
+
* An application uri is relative to the prefix, so the prefix is added to it
|
|
297
358
|
*
|
|
298
|
-
* @param uri to return absolute url from
|
|
359
|
+
* @param uri to return absolute url from, the request uri by default
|
|
360
|
+
* @returns the result string
|
|
299
361
|
*/
|
|
300
|
-
getAbsoluteUrl(uri
|
|
301
|
-
if (uri
|
|
362
|
+
getAbsoluteUrl(uri) {
|
|
363
|
+
if (uri === undefined) {
|
|
364
|
+
uri = this.uri;
|
|
365
|
+
}
|
|
366
|
+
else if (uri.match(/^\w{1,10}:\/\//)) {
|
|
302
367
|
return uri;
|
|
303
368
|
}
|
|
304
|
-
|
|
305
|
-
uri
|
|
369
|
+
else {
|
|
370
|
+
if (!uri.startsWith("/")) {
|
|
371
|
+
uri = "/" + uri;
|
|
372
|
+
}
|
|
373
|
+
uri = this.prefix + uri;
|
|
306
374
|
}
|
|
307
375
|
if (this.port) {
|
|
308
376
|
return `${this.protocol}//${this.hostname}:${this.port}${uri}`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpcontext.js","sourceRoot":"","sources":["../../src/contexts/httpcontext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { Writable } from "node:stream";
|
|
2
|
+
import { HttpContext } from "./httpcontext.js";
|
|
3
|
+
import { PipelineOptions } from "node:stream/promises";
|
|
4
|
+
/**
|
|
5
|
+
* Context is the object that will be passed to the services
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class Context {
|
|
8
|
+
/**
|
|
9
|
+
* Get the session linked to the context if exists
|
|
10
|
+
*/
|
|
11
|
+
abstract getSession(): any;
|
|
12
|
+
/**
|
|
13
|
+
* Get the caches linked to the context
|
|
14
|
+
*/
|
|
15
|
+
caches: any;
|
|
16
|
+
/**
|
|
17
|
+
* Allow extensions
|
|
18
|
+
*/
|
|
19
|
+
protected extensions: {
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Store response headers
|
|
24
|
+
*/
|
|
25
|
+
private responseHeaders;
|
|
26
|
+
/**
|
|
27
|
+
* Contain all registered promises to this context
|
|
28
|
+
*/
|
|
29
|
+
_promises: Promise<any>[];
|
|
30
|
+
/**
|
|
31
|
+
* If the headers were flushed
|
|
32
|
+
*/
|
|
33
|
+
protected flushed: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether this is the global (non-request-scoped) context
|
|
36
|
+
* @returns true if the condition is met
|
|
37
|
+
*/
|
|
38
|
+
isGlobalContext(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Get current user id
|
|
41
|
+
*/
|
|
42
|
+
abstract getCurrentUserId(): string | "system" | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Register a promise with the context
|
|
45
|
+
* @param promise - the promise to add
|
|
46
|
+
*/
|
|
47
|
+
registerPromise(promise: any): void;
|
|
48
|
+
/**
|
|
49
|
+
* Get an extension of the context
|
|
50
|
+
* @param name of the extension
|
|
51
|
+
* @returns extension object
|
|
52
|
+
*/
|
|
53
|
+
getExtension<K = any>(name: string): K;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @param name to add
|
|
57
|
+
* @param extension object to store
|
|
58
|
+
* @returns this for chaining
|
|
59
|
+
*/
|
|
60
|
+
setExtension(name: string, extension: any): this;
|
|
61
|
+
/**
|
|
62
|
+
* Ensure the whole execution is finished
|
|
63
|
+
*/
|
|
64
|
+
end(): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Return the user
|
|
67
|
+
*
|
|
68
|
+
* This method is not typed to avoid circular dependencies
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
abstract getCurrentUser(): Promise<any | undefined>;
|
|
72
|
+
/**
|
|
73
|
+
* Can be used to init the context if needed
|
|
74
|
+
* Reading from the input or reaching to a db
|
|
75
|
+
* @returns this for chaining
|
|
76
|
+
*/
|
|
77
|
+
init(): Promise<this>;
|
|
78
|
+
/**
|
|
79
|
+
* Set a header in the response
|
|
80
|
+
* @param name - the name to use
|
|
81
|
+
* @param value - the value to set
|
|
82
|
+
*/
|
|
83
|
+
setHeader(name: string, value: string | number | string[]): void;
|
|
84
|
+
/**
|
|
85
|
+
* For easier compatibility with WebContext
|
|
86
|
+
* On OperationContext this call is simply ignored
|
|
87
|
+
* @param _code - the status code
|
|
88
|
+
*/
|
|
89
|
+
writeHead(_code: number, headers: {
|
|
90
|
+
[key: string]: string | number | string[];
|
|
91
|
+
}): void;
|
|
92
|
+
/**
|
|
93
|
+
* Get current response headers
|
|
94
|
+
* @returns the result
|
|
95
|
+
*/
|
|
96
|
+
getResponseHeaders(): any;
|
|
97
|
+
/**
|
|
98
|
+
* Send the headers to the client
|
|
99
|
+
*/
|
|
100
|
+
flushHeaders(): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Pipeline streams into the output stream
|
|
103
|
+
*
|
|
104
|
+
* @see https://nodejs.org/api/stream.html#streampipelinestreams-options
|
|
105
|
+
* @param stream1 - the first stream
|
|
106
|
+
* @param streams - additional streams
|
|
107
|
+
*/
|
|
108
|
+
pipeline(stream1: NodeJS.ReadableStream, ...streams: Array<NodeJS.ReadWriteStream | PipelineOptions>): Promise<void>;
|
|
109
|
+
abstract getOutputStream(): Promise<Writable>;
|
|
110
|
+
}
|
|
111
|
+
/** Abstract context for an operation, providing access to input, parameters, output, and session */
|
|
112
|
+
export declare abstract class IOperationContext<Input = any, Parameters = any, Output = any> extends Context {
|
|
113
|
+
/**
|
|
114
|
+
* Get the input of the context
|
|
115
|
+
*/
|
|
116
|
+
abstract getInput(): Promise<Input>;
|
|
117
|
+
/**
|
|
118
|
+
* Get the raw input of the context
|
|
119
|
+
*/
|
|
120
|
+
abstract getRawInput(limit?: number): Promise<any>;
|
|
121
|
+
/**
|
|
122
|
+
* Read one specific parameter
|
|
123
|
+
* @param name - the name to use
|
|
124
|
+
* @returns the result
|
|
125
|
+
* @param defaultValue - the default value
|
|
126
|
+
* @deprecated Use getParameters
|
|
127
|
+
*/
|
|
128
|
+
parameter(name: string, defaultValue?: any): any;
|
|
129
|
+
abstract clearInput(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Get the parameters of the context
|
|
132
|
+
*/
|
|
133
|
+
abstract getParameters(): Parameters;
|
|
134
|
+
/**
|
|
135
|
+
* Write the output of the context
|
|
136
|
+
* @param _data
|
|
137
|
+
* @returns
|
|
138
|
+
*/
|
|
139
|
+
abstract write(_data: Output): boolean;
|
|
140
|
+
abstract setSession(session: any): void;
|
|
141
|
+
/**
|
|
142
|
+
* Create a new session
|
|
143
|
+
*
|
|
144
|
+
* Logout the current user
|
|
145
|
+
*/
|
|
146
|
+
abstract newSession(): any;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Data provided by the context
|
|
150
|
+
*/
|
|
151
|
+
export interface ContextProviderInfo {
|
|
152
|
+
/**
|
|
153
|
+
* Stream to write to
|
|
154
|
+
*/
|
|
155
|
+
stream?: Writable;
|
|
156
|
+
/**
|
|
157
|
+
* If this is http context
|
|
158
|
+
*/
|
|
159
|
+
http?: HttpContext;
|
|
160
|
+
/**
|
|
161
|
+
* true if this is a global context
|
|
162
|
+
*/
|
|
163
|
+
global?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Can contain any type of information
|
|
166
|
+
*/
|
|
167
|
+
[key: string]: any;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* @category CoreFeatures
|
|
171
|
+
*/
|
|
172
|
+
export interface ContextProvider {
|
|
173
|
+
/**
|
|
174
|
+
* Info can contain any type of information
|
|
175
|
+
* @param info
|
|
176
|
+
*/
|
|
177
|
+
getContext(info: ContextProviderInfo): Context;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Context aware interface
|
|
181
|
+
*
|
|
182
|
+
* An object that is aware of the context
|
|
183
|
+
* It should allow to set the context only if `canUpdateContext` is true
|
|
184
|
+
*/
|
|
185
|
+
export interface IContextAware {
|
|
186
|
+
context: Context;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Set the context update
|
|
190
|
+
* @param value - the value to set
|
|
191
|
+
*/
|
|
192
|
+
export declare function setContextUpdate(value: boolean): void;
|
|
193
|
+
/**
|
|
194
|
+
* Who can update the context
|
|
195
|
+
* @returns true if the condition is met
|
|
196
|
+
*/
|
|
197
|
+
export declare function canUpdateContext(): boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Represent a context from the web
|
|
200
|
+
* It also fit the express response object
|
|
201
|
+
*/
|
|
202
|
+
export type IWebContext = IOperationContext & {
|
|
203
|
+
setParameters: (params: object) => void;
|
|
204
|
+
/**
|
|
205
|
+
* Get the http context
|
|
206
|
+
* @returns
|
|
207
|
+
*/
|
|
208
|
+
getHttpContext: () => HttpContext;
|
|
209
|
+
/**
|
|
210
|
+
* Set a cookie in the browser
|
|
211
|
+
* @param name
|
|
212
|
+
* @param value
|
|
213
|
+
* @param params
|
|
214
|
+
* @returns
|
|
215
|
+
*/
|
|
216
|
+
cookie: (name: string, value: string, params: any) => void;
|
|
217
|
+
/**
|
|
218
|
+
* Get the status code for the response
|
|
219
|
+
*/
|
|
220
|
+
statusCode: number;
|
|
221
|
+
/**
|
|
222
|
+
* Redirect the user to another page
|
|
223
|
+
*/
|
|
224
|
+
redirect: (url: string) => void;
|
|
225
|
+
/**
|
|
226
|
+
* Send the header response to the user
|
|
227
|
+
*/
|
|
228
|
+
writeHead: (statusCode: number, headers: any) => void;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Return the gather information from the repository
|
|
232
|
+
* @param obj - the target object
|
|
233
|
+
* @returns the result
|
|
234
|
+
*/
|
|
235
|
+
export declare function isWebContext(obj: any): obj is IWebContext;
|
|
236
|
+
//# sourceMappingURL=icontext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icontext.d.ts","sourceRoot":"","sources":["../../src/contexts/icontext.ts"],"names":[],"mappings":"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"}
|