kuzzle 2.56.0 → 2.57.0-beta.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/dist/bin/copy-binaries.js +71 -4
- package/dist/bin/start-kuzzle-server +191 -97
- package/dist/index.d.ts +31 -1
- package/dist/index.js +45 -2
- package/dist/lib/api/controllers/adminController.d.ts +4 -3
- package/dist/lib/api/controllers/adminController.js +1 -2
- package/dist/lib/api/controllers/authController.d.ts +37 -16
- package/dist/lib/api/controllers/authController.js +88 -39
- package/dist/lib/api/controllers/baseController.d.ts +10 -5
- package/dist/lib/api/controllers/baseController.js +36 -15
- package/dist/lib/api/controllers/bulkController.d.ts +11 -7
- package/dist/lib/api/controllers/bulkController.js +28 -5
- package/dist/lib/api/controllers/clusterController.d.ts +2 -2
- package/dist/lib/api/controllers/clusterController.js +3 -3
- package/dist/lib/api/controllers/collectionController.d.ts +57 -21
- package/dist/lib/api/controllers/collectionController.js +40 -11
- package/dist/lib/api/controllers/debugController.d.ts +1 -1
- package/dist/lib/api/controllers/documentController.d.ts +137 -28
- package/dist/lib/api/controllers/documentController.js +156 -125
- package/dist/lib/api/controllers/index.d.ts +27 -12
- package/dist/lib/api/controllers/index.js +28 -13
- package/dist/lib/api/controllers/indexController.d.ts +17 -10
- package/dist/lib/api/controllers/indexController.js +13 -11
- package/dist/lib/api/controllers/memoryStorageController.d.ts +2 -5
- package/dist/lib/api/controllers/memoryStorageController.js +199 -127
- package/dist/lib/api/controllers/realtimeController.d.ts +19 -9
- package/dist/lib/api/controllers/realtimeController.js +8 -4
- package/dist/lib/api/controllers/securityController.d.ts +42 -29
- package/dist/lib/api/controllers/securityController.js +35 -19
- package/dist/lib/api/controllers/serverController.d.ts +114 -19
- package/dist/lib/api/controllers/serverController.js +69 -29
- package/dist/lib/api/documentExtractor.d.ts +9 -7
- package/dist/lib/api/documentExtractor.js +105 -41
- package/dist/lib/api/funnel.d.ts +131 -29
- package/dist/lib/api/funnel.js +436 -225
- package/dist/lib/api/httpRoutes.d.ts +16 -11
- package/dist/lib/api/httpRoutes.js +272 -2
- package/dist/lib/api/openapi/OpenApiManager.d.ts +1 -1
- package/dist/lib/api/openapi/openApiGenerator.d.ts +1 -1
- package/dist/lib/api/rateLimiter.d.ts +15 -5
- package/dist/lib/api/rateLimiter.js +42 -14
- package/dist/lib/api/request/kuzzleRequest.d.ts +83 -12
- package/dist/lib/api/request/kuzzleRequest.js +88 -23
- package/dist/lib/api/request/requestContext.d.ts +20 -5
- package/dist/lib/api/request/requestContext.js +14 -4
- package/dist/lib/api/request/requestInput.d.ts +37 -6
- package/dist/lib/api/request/requestInput.js +22 -9
- package/dist/lib/api/request/requestResponse.d.ts +45 -9
- package/dist/lib/api/request/requestResponse.js +34 -3
- package/dist/lib/cluster/command.d.ts +131 -37
- package/dist/lib/cluster/command.js +243 -71
- package/dist/lib/cluster/idCardHandler.d.ts +18 -5
- package/dist/lib/cluster/idCardHandler.js +52 -19
- package/dist/lib/cluster/index.d.ts +8 -2
- package/dist/lib/cluster/index.js +6 -2
- package/dist/lib/cluster/node.d.ts +127 -49
- package/dist/lib/cluster/node.js +412 -179
- package/dist/lib/cluster/protobuf/command.proto +18 -0
- package/dist/lib/cluster/protobuf/commandMessages.d.ts +104 -0
- package/dist/lib/cluster/protobuf/commandMessages.js +30 -0
- package/dist/lib/cluster/protobuf/syncMessages.d.ts +184 -0
- package/dist/lib/cluster/protobuf/syncMessages.js +23 -0
- package/dist/lib/cluster/publisher.d.ts +118 -78
- package/dist/lib/cluster/publisher.js +174 -72
- package/dist/lib/cluster/state.d.ts +15 -9
- package/dist/lib/cluster/state.js +12 -8
- package/dist/lib/cluster/subscriber.d.ts +185 -131
- package/dist/lib/cluster/subscriber.js +357 -95
- package/dist/lib/cluster/workers/IDCardRenewer.d.ts +39 -8
- package/dist/lib/cluster/workers/IDCardRenewer.js +88 -23
- package/dist/lib/config/default.config.d.ts +2 -2
- package/dist/lib/config/default.config.js +10 -3
- package/dist/lib/config/documentEventAliases.d.ts +1 -1
- package/dist/lib/config/index.d.ts +2 -5
- package/dist/lib/config/index.js +30 -17
- package/dist/lib/core/auth/formatProcessing.d.ts +3 -3
- package/dist/lib/core/auth/passportResponse.d.ts +1 -1
- package/dist/lib/core/auth/passportWrapper.d.ts +1 -1
- package/dist/lib/core/auth/passportWrapper.js +14 -13
- package/dist/lib/core/auth/tokenManager.d.ts +24 -3
- package/dist/lib/core/auth/tokenManager.js +47 -19
- package/dist/lib/core/backend/applicationManager.d.ts +2 -2
- package/dist/lib/core/backend/backend.d.ts +16 -5
- package/dist/lib/core/backend/backend.js +14 -6
- package/dist/lib/core/backend/backendCluster.d.ts +1 -1
- package/dist/lib/core/backend/backendConfig.d.ts +17 -5
- package/dist/lib/core/backend/backendConfig.js +1 -0
- package/dist/lib/core/backend/backendController.d.ts +1 -1
- package/dist/lib/core/backend/backendController.js +8 -1
- package/dist/lib/core/backend/backendErrors.d.ts +15 -8
- package/dist/lib/core/backend/backendErrors.js +5 -0
- package/dist/lib/core/backend/backendHook.d.ts +1 -1
- package/dist/lib/core/backend/backendImport.d.ts +1 -1
- package/dist/lib/core/backend/backendOpenApi.d.ts +3 -2
- package/dist/lib/core/backend/backendPipe.d.ts +1 -1
- package/dist/lib/core/backend/backendPipe.js +9 -1
- package/dist/lib/core/backend/backendPlugin.d.ts +2 -2
- package/dist/lib/core/backend/backendSubscription.d.ts +2 -2
- package/dist/lib/core/backend/backendVault.d.ts +1 -1
- package/dist/lib/core/backend/backendVault.js +8 -1
- package/dist/lib/core/cache/cacheEngine.d.ts +7 -4
- package/dist/lib/core/cache/cacheEngine.js +25 -8
- package/dist/lib/core/debug/kuzzleDebugger.d.ts +2 -1
- package/dist/lib/core/debug/kuzzleDebugger.js +31 -17
- package/dist/lib/core/network/accessLogger.d.ts +33 -18
- package/dist/lib/core/network/accessLogger.js +135 -73
- package/dist/lib/core/network/clientConnection.d.ts +13 -11
- package/dist/lib/core/network/clientConnection.js +33 -9
- package/dist/lib/core/network/context.d.ts +17 -22
- package/dist/lib/core/network/context.js +43 -26
- package/dist/lib/core/network/entryPoint.d.ts +38 -16
- package/dist/lib/core/network/entryPoint.js +119 -48
- package/dist/lib/core/network/httpRouter/index.d.ts +20 -50
- package/dist/lib/core/network/httpRouter/index.js +61 -75
- package/dist/lib/core/network/httpRouter/routeHandler.d.ts +17 -32
- package/dist/lib/core/network/httpRouter/routeHandler.js +26 -36
- package/dist/lib/core/network/httpRouter/routePart.d.ts +9 -18
- package/dist/lib/core/network/httpRouter/routePart.js +61 -43
- package/dist/lib/core/network/httpRouter/routeTypes.d.ts +3 -0
- package/dist/lib/core/network/httpRouter/routeTypes.js +23 -0
- package/dist/lib/core/network/networkEntryPoint.d.ts +20 -0
- package/dist/lib/core/network/networkEntryPoint.js +23 -0
- package/dist/lib/core/network/protocolManifest.d.ts +5 -4
- package/dist/lib/core/network/protocolManifest.js +6 -3
- package/dist/lib/core/network/protocols/httpMessage.d.ts +25 -18
- package/dist/lib/core/network/protocols/httpMessage.js +14 -11
- package/dist/lib/core/network/protocols/httpwsProtocol.d.ts +84 -93
- package/dist/lib/core/network/protocols/httpwsProtocol.js +284 -129
- package/dist/lib/core/network/protocols/internalProtocol.d.ts +26 -15
- package/dist/lib/core/network/protocols/internalProtocol.js +17 -16
- package/dist/lib/core/network/protocols/mqttProtocol.d.ts +56 -32
- package/dist/lib/core/network/protocols/mqttProtocol.js +91 -44
- package/dist/lib/core/network/protocols/protocol.d.ts +85 -21
- package/dist/lib/core/network/protocols/protocol.js +83 -27
- package/dist/lib/core/network/router.d.ts +13 -22
- package/dist/lib/core/network/router.js +59 -46
- package/dist/lib/core/plugin/plugin.d.ts +57 -51
- package/dist/lib/core/plugin/plugin.js +218 -103
- package/dist/lib/core/plugin/pluginContext.d.ts +54 -11
- package/dist/lib/core/plugin/pluginContext.js +99 -58
- package/dist/lib/core/plugin/pluginManifest.d.ts +6 -2
- package/dist/lib/core/plugin/pluginManifest.js +18 -11
- package/dist/lib/core/plugin/pluginRepository.d.ts +35 -44
- package/dist/lib/core/plugin/pluginRepository.js +35 -50
- package/dist/lib/core/plugin/pluginsManager.d.ts +128 -46
- package/dist/lib/core/plugin/pluginsManager.js +468 -231
- package/dist/lib/core/plugin/privilegedContext.d.ts +4 -9
- package/dist/lib/core/plugin/privilegedContext.js +5 -10
- package/dist/lib/core/realtime/actionEnum.d.ts +12 -21
- package/dist/lib/core/realtime/actionEnum.js +6 -7
- package/dist/lib/core/realtime/channel.d.ts +11 -5
- package/dist/lib/core/realtime/channel.js +17 -2
- package/dist/lib/core/realtime/connectionRooms.d.ts +2 -2
- package/dist/lib/core/realtime/hotelClerk.d.ts +12 -6
- package/dist/lib/core/realtime/hotelClerk.js +29 -11
- package/dist/lib/core/realtime/index.d.ts +8 -3
- package/dist/lib/core/realtime/index.js +12 -5
- package/dist/lib/core/realtime/notification/document.d.ts +54 -25
- package/dist/lib/core/realtime/notification/document.js +10 -13
- package/dist/lib/core/realtime/notification/index.d.ts +9 -3
- package/dist/lib/core/realtime/notification/index.js +10 -4
- package/dist/lib/core/realtime/notification/server.d.ts +7 -10
- package/dist/lib/core/realtime/notification/server.js +4 -7
- package/dist/lib/core/realtime/notification/user.d.ts +45 -21
- package/dist/lib/core/realtime/notification/user.js +8 -9
- package/dist/lib/core/realtime/notifier.d.ts +52 -40
- package/dist/lib/core/realtime/notifier.js +60 -25
- package/dist/lib/core/realtime/room.d.ts +1 -1
- package/dist/lib/core/realtime/subscription.d.ts +11 -6
- package/dist/lib/core/realtime/subscription.js +5 -1
- package/dist/lib/core/security/index.d.ts +14 -6
- package/dist/lib/core/security/index.js +27 -13
- package/dist/lib/core/security/profileRepository.d.ts +24 -19
- package/dist/lib/core/security/profileRepository.js +23 -10
- package/dist/lib/core/security/roleRepository.d.ts +60 -23
- package/dist/lib/core/security/roleRepository.js +122 -53
- package/dist/lib/core/security/securityLoader.d.ts +33 -18
- package/dist/lib/core/security/securityLoader.js +43 -16
- package/dist/lib/core/security/tokenRepository.d.ts +21 -7
- package/dist/lib/core/security/tokenRepository.js +50 -23
- package/dist/lib/core/security/userRepository.d.ts +44 -21
- package/dist/lib/core/security/userRepository.js +59 -19
- package/dist/lib/core/shared/KoncordeWrapper.d.ts +1 -1
- package/dist/lib/core/shared/ObjectRepository.d.ts +80 -18
- package/dist/lib/core/shared/ObjectRepository.js +57 -29
- package/dist/lib/core/shared/abstractManifest.d.ts +21 -8
- package/dist/lib/core/shared/abstractManifest.js +57 -17
- package/dist/lib/core/shared/sdk/embeddedSdk.d.ts +3 -1
- package/dist/lib/core/shared/sdk/embeddedSdk.js +8 -7
- package/dist/lib/core/shared/sdk/funnelProtocol.d.ts +2 -1
- package/dist/lib/core/shared/sdk/funnelProtocol.js +12 -3
- package/dist/lib/core/shared/sdk/impersonatedSdk.d.ts +11 -5
- package/dist/lib/core/shared/sdk/impersonatedSdk.js +22 -9
- package/dist/lib/core/shared/store.d.ts +45 -29
- package/dist/lib/core/shared/store.js +48 -27
- package/dist/lib/core/statistics/statistics.d.ts +1 -1
- package/dist/lib/core/storage/clientAdapter.d.ts +39 -21
- package/dist/lib/core/storage/clientAdapter.js +88 -48
- package/dist/lib/core/storage/indexCache.d.ts +8 -0
- package/dist/lib/core/storage/indexCache.js +16 -7
- package/dist/lib/core/storage/storageEngine.d.ts +7 -6
- package/dist/lib/core/storage/storageEngine.js +11 -8
- package/dist/lib/core/validation/baseType.d.ts +22 -22
- package/dist/lib/core/validation/baseType.js +11 -26
- package/dist/lib/core/validation/specification.d.ts +148 -0
- package/dist/lib/core/validation/specification.js +34 -0
- package/dist/lib/core/validation/typeOptions.d.ts +62 -0
- package/dist/lib/core/validation/typeOptions.js +23 -0
- package/dist/lib/core/validation/types/anything.d.ts +3 -6
- package/dist/lib/core/validation/types/anything.js +7 -7
- package/dist/lib/core/validation/types/boolean.d.ts +5 -12
- package/dist/lib/core/validation/types/boolean.js +7 -12
- package/dist/lib/core/validation/types/date.d.ts +19 -11
- package/dist/lib/core/validation/types/date.js +212 -161
- package/dist/lib/core/validation/types/email.d.ts +7 -11
- package/dist/lib/core/validation/types/email.js +13 -17
- package/dist/lib/core/validation/types/enum.d.ts +7 -11
- package/dist/lib/core/validation/types/enum.js +39 -20
- package/dist/lib/core/validation/types/geoPoint.d.ts +5 -13
- package/dist/lib/core/validation/types/geoPoint.js +10 -15
- package/dist/lib/core/validation/types/geoShape.d.ts +22 -21
- package/dist/lib/core/validation/types/geoShape.js +113 -129
- package/dist/lib/core/validation/types/geoShapeUtils.d.ts +15 -0
- package/dist/lib/core/validation/types/geoShapeUtils.js +75 -0
- package/dist/lib/core/validation/types/integer.d.ts +7 -5
- package/dist/lib/core/validation/types/integer.js +7 -13
- package/dist/lib/core/validation/types/ipAddress.d.ts +7 -11
- package/dist/lib/core/validation/types/ipAddress.js +13 -17
- package/dist/lib/core/validation/types/numeric.d.ts +7 -11
- package/dist/lib/core/validation/types/numeric.js +22 -29
- package/dist/lib/core/validation/types/object.d.ts +8 -15
- package/dist/lib/core/validation/types/object.js +12 -21
- package/dist/lib/core/validation/types/string.d.ts +7 -11
- package/dist/lib/core/validation/types/string.js +22 -29
- package/dist/lib/core/validation/types/url.d.ts +7 -11
- package/dist/lib/core/validation/types/url.js +14 -18
- package/dist/lib/core/validation/validation.d.ts +119 -80
- package/dist/lib/core/validation/validation.js +470 -412
- package/dist/lib/core/validation/validationUtils.d.ts +31 -0
- package/dist/lib/core/validation/validationUtils.js +190 -0
- package/dist/lib/kerror/codes/4-plugin.json +0 -12
- package/dist/lib/kerror/codes/index.d.ts +12 -2
- package/dist/lib/kerror/codes/index.js +5 -4
- package/dist/lib/kerror/errors/badRequestError.d.ts +1 -1
- package/dist/lib/kerror/errors/badRequestError.js +1 -1
- package/dist/lib/kerror/errors/externalServiceError.d.ts +1 -1
- package/dist/lib/kerror/errors/externalServiceError.js +1 -1
- package/dist/lib/kerror/errors/forbiddenError.d.ts +1 -1
- package/dist/lib/kerror/errors/forbiddenError.js +1 -1
- package/dist/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
- package/dist/lib/kerror/errors/gatewayTimeoutError.js +1 -1
- package/dist/lib/kerror/errors/internalError.d.ts +1 -1
- package/dist/lib/kerror/errors/internalError.js +1 -1
- package/dist/lib/kerror/errors/kuzzleError.d.ts +32 -3
- package/dist/lib/kerror/errors/kuzzleError.js +21 -7
- package/dist/lib/kerror/errors/multipleErrorsError.d.ts +2 -2
- package/dist/lib/kerror/errors/multipleErrorsError.js +2 -2
- package/dist/lib/kerror/errors/notFoundError.d.ts +1 -1
- package/dist/lib/kerror/errors/notFoundError.js +1 -1
- package/dist/lib/kerror/errors/partialError.d.ts +8 -2
- package/dist/lib/kerror/errors/partialError.js +22 -9
- package/dist/lib/kerror/errors/pluginImplementationError.d.ts +9 -1
- package/dist/lib/kerror/errors/pluginImplementationError.js +9 -3
- package/dist/lib/kerror/errors/preconditionError.d.ts +1 -1
- package/dist/lib/kerror/errors/preconditionError.js +1 -1
- package/dist/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
- package/dist/lib/kerror/errors/serviceUnavailableError.js +1 -1
- package/dist/lib/kerror/errors/sizeLimitError.d.ts +1 -1
- package/dist/lib/kerror/errors/sizeLimitError.js +1 -1
- package/dist/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
- package/dist/lib/kerror/errors/tooManyRequestsError.js +1 -1
- package/dist/lib/kerror/errors/unauthorizedError.d.ts +1 -1
- package/dist/lib/kerror/errors/unauthorizedError.js +1 -1
- package/dist/lib/kerror/index.d.ts +19 -13
- package/dist/lib/kerror/index.js +60 -19
- package/dist/lib/kuzzle/Logger.d.ts +2 -2
- package/dist/lib/kuzzle/dumpGenerator.d.ts +12 -8
- package/dist/lib/kuzzle/dumpGenerator.js +130 -62
- package/dist/lib/kuzzle/event/KuzzleEventEmitter.d.ts +18 -9
- package/dist/lib/kuzzle/event/KuzzleEventEmitter.js +45 -18
- package/dist/lib/kuzzle/event/pipeRunner.d.ts +37 -16
- package/dist/lib/kuzzle/event/pipeRunner.js +73 -26
- package/dist/lib/kuzzle/event/waterfall.d.ts +11 -1
- package/dist/lib/kuzzle/event/waterfall.js +38 -13
- package/dist/lib/kuzzle/internalIndexHandler.d.ts +11 -174
- package/dist/lib/kuzzle/internalIndexHandler.js +58 -29
- package/dist/lib/kuzzle/kuzzle.d.ts +25 -10
- package/dist/lib/kuzzle/kuzzle.js +74 -17
- package/dist/lib/kuzzle/kuzzleStateEnum.d.ts +16 -12
- package/dist/lib/kuzzle/kuzzleStateEnum.js +5 -7
- package/dist/lib/kuzzle/vault.d.ts +5 -1
- package/dist/lib/kuzzle/vault.js +29 -17
- package/dist/lib/model/security/profile.d.ts +34 -5
- package/dist/lib/model/security/profile.js +6 -5
- package/dist/lib/model/security/rights.d.ts +12 -4
- package/dist/lib/model/security/rights.js +7 -6
- package/dist/lib/model/security/role.d.ts +8 -4
- package/dist/lib/model/security/role.js +12 -6
- package/dist/lib/model/security/token.d.ts +8 -0
- package/dist/lib/model/security/user.d.ts +8 -2
- package/dist/lib/model/security/user.js +7 -4
- package/dist/lib/model/storage/apiKey.d.ts +55 -26
- package/dist/lib/model/storage/apiKey.js +97 -24
- package/dist/lib/model/storage/baseModel.d.ts +77 -66
- package/dist/lib/model/storage/baseModel.js +21 -34
- package/dist/lib/service/cache/redis.d.ts +53 -36
- package/dist/lib/service/cache/redis.js +148 -71
- package/dist/lib/service/service.d.ts +14 -19
- package/dist/lib/service/service.js +41 -22
- package/dist/lib/service/storage/7/elasticsearch.d.ts +136 -93
- package/dist/lib/service/storage/7/elasticsearch.js +218 -165
- package/dist/lib/service/storage/7/esWrapper.d.ts +30 -13
- package/dist/lib/service/storage/7/esWrapper.js +58 -37
- package/dist/lib/service/storage/8/elasticsearch.d.ts +153 -119
- package/dist/lib/service/storage/8/elasticsearch.js +286 -213
- package/dist/lib/service/storage/8/esWrapper.d.ts +30 -13
- package/dist/lib/service/storage/8/esWrapper.js +59 -38
- package/dist/lib/service/storage/commons/queryTranslator.d.ts +3 -3
- package/dist/lib/service/storage/commons/queryTranslator.js +71 -35
- package/dist/lib/types/ApiRoute.d.ts +12 -0
- package/dist/lib/types/ApiRoute.js +23 -0
- package/dist/lib/types/ClientConnection.d.ts +1 -1
- package/dist/lib/types/EventHandler.d.ts +10 -0
- package/dist/lib/types/Global.d.ts +8 -3
- package/dist/lib/types/HttpMessage.d.ts +2 -2
- package/dist/lib/types/HttpStream.d.ts +1 -1
- package/dist/lib/types/HttpStream.js +3 -1
- package/dist/lib/types/JSONObject.d.ts +9 -0
- package/dist/lib/types/JSONObject.js +23 -0
- package/dist/lib/types/Kuzzle.d.ts +5 -3
- package/dist/lib/types/KuzzleDocument.d.ts +1 -1
- package/dist/lib/types/KuzzleWebSocket.d.ts +24 -0
- package/dist/lib/types/KuzzleWebSocket.js +23 -0
- package/dist/lib/types/OpenApiDefinition.d.ts +1 -1
- package/dist/lib/types/Plugin.d.ts +33 -8
- package/dist/lib/types/PluginInstance.d.ts +67 -0
- package/dist/lib/types/PluginInstance.js +23 -0
- package/dist/lib/types/Policy.d.ts +1 -1
- package/dist/lib/types/Target.d.ts +8 -0
- package/dist/lib/types/Token.d.ts +14 -2
- package/dist/lib/types/config/HttpConfiguration.d.ts +5 -0
- package/dist/lib/types/config/KuzzleConfiguration.d.ts +102 -1
- package/dist/lib/types/config/PluginsConfiguration.d.ts +3 -2
- package/dist/lib/types/config/SecurityConfiguration.d.ts +6 -2
- package/dist/lib/types/config/ServerConfiguration.d.ts +2 -2
- package/dist/lib/types/config/ServicesConfiguration.d.ts +1 -1
- package/dist/lib/types/config/cache/BaseCacheRedisConfiguration.d.ts +131 -0
- package/dist/lib/types/config/cache/BaseCacheRedisConfiguration.js +3 -0
- package/dist/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +2 -106
- package/dist/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +2 -26
- package/dist/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +3 -0
- package/dist/lib/types/controllers/Controller.d.ts +12 -3
- package/dist/lib/types/controllers/ControllerDefinition.d.ts +2 -2
- package/dist/lib/types/controllers/{adminControlller.type.js → adminController.type.js} +1 -1
- package/dist/lib/types/controllers/authController.type.d.ts +2 -2
- package/dist/lib/types/core/auth/formatProcessing.type.d.ts +7 -1
- package/dist/lib/types/errors/ErrorDomains.d.ts +1 -1
- package/dist/lib/types/events/EventGenericDocument.d.ts +10 -9
- package/dist/lib/types/events/EventProtocol.d.ts +4 -4
- package/dist/lib/types/index.d.ts +7 -0
- package/dist/lib/types/index.js +7 -0
- package/dist/lib/types/shared/StoreCollectionsDefinition.d.ts +1 -1
- package/dist/lib/types/storage/7/Elasticsearch.d.ts +62 -13
- package/dist/lib/types/storage/8/Elasticsearch.d.ts +62 -13
- package/dist/lib/util/Inflector.d.ts +4 -1
- package/dist/lib/util/Inflector.js +0 -3
- package/dist/lib/util/assertType.d.ts +24 -27
- package/dist/lib/util/assertType.js +28 -39
- package/dist/lib/util/async.js +19 -6
- package/dist/lib/util/asyncStore.js +1 -1
- package/dist/lib/util/bufferedPassThrough.d.ts +9 -0
- package/dist/lib/util/bufferedPassThrough.js +27 -13
- package/dist/lib/util/bytes.d.ts +1 -1
- package/dist/lib/util/bytes.js +6 -2
- package/dist/lib/util/debug.d.ts +3 -1
- package/dist/lib/util/debug.js +42 -10
- package/dist/lib/util/deprecate.d.ts +9 -1
- package/dist/lib/util/deprecate.js +10 -6
- package/dist/lib/util/didYouMean.d.ts +2 -1
- package/dist/lib/util/didYouMean.js +8 -4
- package/dist/lib/util/distributedLock.d.ts +56 -0
- package/dist/lib/util/distributedLock.js +166 -0
- package/dist/lib/util/dump-collection.d.ts +1 -1
- package/dist/lib/util/dump-collection.js +4 -5
- package/dist/lib/util/extractFields.d.ts +15 -11
- package/dist/lib/util/extractFields.js +8 -9
- package/dist/lib/util/koncordeCompat.d.ts +2 -2
- package/dist/lib/util/koncordeCompat.js +33 -0
- package/dist/lib/util/memoize.d.ts +7 -6
- package/dist/lib/util/memoize.js +3 -3
- package/dist/lib/util/mutex.d.ts +22 -2
- package/dist/lib/util/mutex.js +39 -1
- package/dist/lib/util/name-generator.js +14 -2
- package/dist/lib/util/promback.d.ts +20 -11
- package/dist/lib/util/promback.js +14 -7
- package/dist/lib/util/requestAssertions.d.ts +30 -10
- package/dist/lib/util/requestAssertions.js +125 -121
- package/dist/lib/util/safeObject.d.ts +3 -3
- package/dist/lib/util/safeObject.js +7 -3
- package/dist/lib/util/stackTrace.d.ts +13 -5
- package/dist/lib/util/stackTrace.js +17 -12
- package/dist/lib/util/thrown.d.ts +13 -0
- package/dist/lib/util/thrown.js +46 -0
- package/dist/package.json +26 -19
- package/package.json +26 -19
- package/dist/lib/util/wildcard.d.ts +0 -1
- package/dist/lib/util/wildcard.js +0 -46
- /package/dist/lib/types/controllers/{adminControlller.type.d.ts → adminController.type.d.ts} +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Kuzzle, a backend software, self-hostable and ready to use
|
|
4
|
+
* to power modern apps
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2015-2022 Kuzzle
|
|
7
|
+
* mailto: support AT kuzzle.io
|
|
8
|
+
* website: http://kuzzle.io
|
|
9
|
+
*
|
|
10
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
* you may not use this file except in compliance with the License.
|
|
12
|
+
* You may obtain a copy of the License at
|
|
13
|
+
*
|
|
14
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
* See the License for the specific language governing permissions and
|
|
20
|
+
* limitations under the License.
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
//# sourceMappingURL=routeTypes.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { JSONObject } from "../../types/JSONObject";
|
|
2
|
+
import type { KuzzleRequest } from "../../api/request";
|
|
3
|
+
import type { ServerConfiguration } from "../../types";
|
|
4
|
+
import type ClientConnection from "./clientConnection";
|
|
5
|
+
/**
|
|
6
|
+
* The EntryPoint surface a protocol is allowed to reach.
|
|
7
|
+
*
|
|
8
|
+
* `entryPoint.js` is still JavaScript (it is converted by sprint 6's PR H6).
|
|
9
|
+
* Declaring the contract here rather than inferring it from that file is not
|
|
10
|
+
* only a stop-gap: the inference is actively wrong, because the JSDoc
|
|
11
|
+
* `@param {Request}` resolves to the **DOM** `Request` — `lib.dom` is in
|
|
12
|
+
* `tsconfig.json`'s `lib` and nothing imports Kuzzle's `Request` into scope.
|
|
13
|
+
*/
|
|
14
|
+
export interface NetworkEntryPoint {
|
|
15
|
+
config: ServerConfiguration;
|
|
16
|
+
execute(connection: ClientConnection, request: KuzzleRequest, cb: (response: JSONObject) => void): void;
|
|
17
|
+
logAccess(connection: ClientConnection, request: KuzzleRequest, extra?: JSONObject | null): void;
|
|
18
|
+
newConnection(connection: ClientConnection): void;
|
|
19
|
+
removeConnection(connectionId: string): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Kuzzle, a backend software, self-hostable and ready to use
|
|
4
|
+
* to power modern apps
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2015-2022 Kuzzle
|
|
7
|
+
* mailto: support AT kuzzle.io
|
|
8
|
+
* website: http://kuzzle.io
|
|
9
|
+
*
|
|
10
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
* you may not use this file except in compliance with the License.
|
|
12
|
+
* You may obtain a copy of the License at
|
|
13
|
+
*
|
|
14
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
* See the License for the specific language governing permissions and
|
|
20
|
+
* limitations under the License.
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
//# sourceMappingURL=networkEntryPoint.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import AbstractManifest from "../shared/abstractManifest";
|
|
2
|
+
import type Protocol from "./protocols/protocol";
|
|
2
3
|
declare class ProtocolManifest extends AbstractManifest {
|
|
3
|
-
|
|
4
|
-
protocol:
|
|
4
|
+
protocol: Protocol;
|
|
5
|
+
constructor(protocolPath: string, protocol: Protocol);
|
|
5
6
|
}
|
|
6
|
-
|
|
7
|
+
export = ProtocolManifest;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/*
|
|
2
3
|
* Kuzzle, a backend software, self-hostable and ready to use
|
|
3
4
|
* to power modern apps
|
|
@@ -18,9 +19,11 @@
|
|
|
18
19
|
* See the License for the specific language governing permissions and
|
|
19
20
|
* limitations under the License.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
const abstractManifest_1 = __importDefault(require("../shared/abstractManifest"));
|
|
26
|
+
class ProtocolManifest extends abstractManifest_1.default {
|
|
24
27
|
constructor(protocolPath, protocol) {
|
|
25
28
|
super(protocolPath);
|
|
26
29
|
this.protocol = protocol;
|
|
@@ -1,22 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import type { JSONObject } from "../../../types/JSONObject";
|
|
4
|
+
import type * as uWS from "uWebSockets.js";
|
|
5
|
+
import type ClientConnection from "../clientConnection";
|
|
6
|
+
/** What a request body can be once parsed, or `null` when there is none. */
|
|
7
|
+
type HttpMessageContent = Buffer | JSONObject | null;
|
|
5
8
|
declare class HttpMessage {
|
|
9
|
+
connection: ClientConnection;
|
|
10
|
+
ips: string[];
|
|
11
|
+
query: string;
|
|
12
|
+
path: string;
|
|
13
|
+
/** @deprecated use "path" instead */
|
|
14
|
+
url: string;
|
|
15
|
+
method: string;
|
|
16
|
+
headers: Record<string, string>;
|
|
17
|
+
requestId: string;
|
|
18
|
+
private _content;
|
|
6
19
|
/**
|
|
7
|
-
* @param
|
|
8
|
-
*
|
|
20
|
+
* @param headers - the request's headers when the caller has already
|
|
21
|
+
* collected them (a uWS `HttpRequest` only exposes them through `forEach`, so
|
|
22
|
+
* `httpwsProtocol` collects them once for both the connection and the
|
|
23
|
+
* message); omitted, they are collected here.
|
|
9
24
|
*/
|
|
10
|
-
constructor(connection: ClientConnection, request: uWS.HttpRequest);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
ips: any;
|
|
14
|
-
query: any;
|
|
15
|
-
path: any;
|
|
16
|
-
url: any;
|
|
17
|
-
method: any;
|
|
18
|
-
headers: {};
|
|
19
|
-
requestId: any;
|
|
20
|
-
set content(value: any);
|
|
21
|
-
get content(): any;
|
|
25
|
+
constructor(connection: ClientConnection, request: uWS.HttpRequest, headers?: Record<string, string>);
|
|
26
|
+
set content(value: HttpMessageContent);
|
|
27
|
+
get content(): HttpMessageContent;
|
|
22
28
|
}
|
|
29
|
+
export = HttpMessage;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/*
|
|
2
3
|
* Kuzzle, a backend software, self-hostable and ready to use
|
|
3
4
|
* to power modern apps
|
|
@@ -18,16 +19,14 @@
|
|
|
18
19
|
* See the License for the specific language governing permissions and
|
|
19
20
|
* limitations under the License.
|
|
20
21
|
*/
|
|
21
|
-
"use strict";
|
|
22
|
-
/**
|
|
23
|
-
* @class HttpMessage
|
|
24
|
-
*/
|
|
25
22
|
class HttpMessage {
|
|
26
23
|
/**
|
|
27
|
-
* @param
|
|
28
|
-
*
|
|
24
|
+
* @param headers - the request's headers when the caller has already
|
|
25
|
+
* collected them (a uWS `HttpRequest` only exposes them through `forEach`, so
|
|
26
|
+
* `httpwsProtocol` collects them once for both the connection and the
|
|
27
|
+
* message); omitted, they are collected here.
|
|
29
28
|
*/
|
|
30
|
-
constructor(connection, request) {
|
|
29
|
+
constructor(connection, request, headers) {
|
|
31
30
|
this.connection = connection;
|
|
32
31
|
this._content = null;
|
|
33
32
|
this.ips = connection.ips;
|
|
@@ -39,11 +38,15 @@ class HttpMessage {
|
|
|
39
38
|
else {
|
|
40
39
|
this.path = request.getUrl();
|
|
41
40
|
}
|
|
42
|
-
//
|
|
43
|
-
this.url = this.path;
|
|
41
|
+
this.url = this.path; // NOSONAR this is what declares the alias
|
|
44
42
|
this.method = request.getMethod().toUpperCase();
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
if (headers) {
|
|
44
|
+
this.headers = headers;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.headers = {};
|
|
48
|
+
request.forEach((name, value) => (this.headers[name] = value));
|
|
49
|
+
}
|
|
47
50
|
this.requestId = this.headers["x-kuzzle-request-id"] || connection.id;
|
|
48
51
|
}
|
|
49
52
|
set content(value) {
|
|
@@ -1,63 +1,72 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
import type { JSONObject } from "../../../types/JSONObject";
|
|
5
|
+
import uWS from "uWebSockets.js";
|
|
6
|
+
import { Request } from "../../../api/request";
|
|
7
|
+
import { KuzzleError } from "../../../kerror/errors";
|
|
8
|
+
import { HttpStream } from "../../../types";
|
|
9
|
+
import ClientConnection from "../clientConnection";
|
|
10
|
+
import type { KuzzleWebSocket } from "../../../types/KuzzleWebSocket";
|
|
11
|
+
import HttpMessage from "./httpMessage";
|
|
12
|
+
import type { NetworkEntryPoint } from "../networkEntryPoint";
|
|
13
|
+
import Protocol from "./protocol";
|
|
2
14
|
/**
|
|
3
15
|
* @class HTTPWS
|
|
4
16
|
* Handles both HTTP and WebSocket connections
|
|
5
17
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
maxPayloadLength: number;
|
|
19
|
-
resetIdleTimeoutOnSend: any;
|
|
20
|
-
sendPingsAutomatically: any;
|
|
21
|
-
};
|
|
22
|
-
rateLimit: any;
|
|
23
|
-
};
|
|
24
|
-
httpConfig: {
|
|
25
|
-
enabled: boolean;
|
|
26
|
-
headers?: undefined;
|
|
27
|
-
opts?: undefined;
|
|
28
|
-
} | {
|
|
29
|
-
enabled: any;
|
|
30
|
-
headers: string[][];
|
|
31
|
-
opts: {
|
|
32
|
-
allowCompression: any;
|
|
33
|
-
allowedContentTypes: any[];
|
|
34
|
-
maxEncodingLayers: any;
|
|
35
|
-
maxFormFileSize: any;
|
|
36
|
-
};
|
|
37
|
-
};
|
|
18
|
+
/**
|
|
19
|
+
* `server.protocols` as this protocol reads it: the `websocket` and `http`
|
|
20
|
+
* blocks of the Kuzzle configuration.
|
|
21
|
+
*/
|
|
22
|
+
interface HttpWsProtocolConfig {
|
|
23
|
+
websocket: JSONObject;
|
|
24
|
+
http: JSONObject;
|
|
25
|
+
}
|
|
26
|
+
declare class HttpWsProtocol extends Protocol<HttpWsProtocolConfig> {
|
|
27
|
+
private _server;
|
|
28
|
+
private _wsConfig;
|
|
29
|
+
private _httpConfig;
|
|
38
30
|
now: number;
|
|
39
31
|
nowInterval: NodeJS.Timeout;
|
|
40
|
-
connectionBySocket: Map<
|
|
41
|
-
backpressureBuffer: Map<
|
|
42
|
-
socketByConnectionId: Map<
|
|
43
|
-
logger:
|
|
44
|
-
|
|
32
|
+
connectionBySocket: Map<KuzzleWebSocket, ClientConnection>;
|
|
33
|
+
backpressureBuffer: Map<KuzzleWebSocket, Buffer[]>;
|
|
34
|
+
socketByConnectionId: Map<string, KuzzleWebSocket>;
|
|
35
|
+
logger: ReturnType<typeof global.kuzzle.log.child>;
|
|
36
|
+
constructor();
|
|
37
|
+
/**
|
|
38
|
+
* The uWebSockets application and the two parsed configuration blocks.
|
|
39
|
+
* All three are built by `init` — the first from the other two, which are
|
|
40
|
+
* themselves parsed out of a configuration only the entry point has — and
|
|
41
|
+
* every one of the seventeen reads below happens in a handler that the
|
|
42
|
+
* server registered, so none of them can run before `init` returned.
|
|
43
|
+
*
|
|
44
|
+
* Declaring them nullable and dereferencing them anyway is the shape
|
|
45
|
+
* `Protocol.entryPoint` had; these accessors answer the same way, once,
|
|
46
|
+
* instead of at each call site.
|
|
47
|
+
*/
|
|
48
|
+
get server(): uWS.TemplatedApp;
|
|
49
|
+
get wsConfig(): JSONObject;
|
|
50
|
+
get httpConfig(): JSONObject;
|
|
51
|
+
init(entryPoint: NetworkEntryPoint): Promise<boolean>;
|
|
52
|
+
/** @deprecated pass the name to the constructor and call `init(entryPoint)` */
|
|
53
|
+
init(name: null, entryPoint: NetworkEntryPoint): Promise<boolean>;
|
|
45
54
|
initWebSocket(): void;
|
|
46
55
|
initHttp(): void;
|
|
47
|
-
broadcast(data:
|
|
48
|
-
notify(data:
|
|
49
|
-
joinChannel(channel:
|
|
50
|
-
leaveChannel(channel:
|
|
51
|
-
disconnect(connectionId:
|
|
52
|
-
wsOnUpgradeHandler(res:
|
|
53
|
-
wsOnOpenHandler(socket:
|
|
54
|
-
wsOnCloseHandler(socket:
|
|
55
|
-
wsOnMessageHandler(socket:
|
|
56
|
+
broadcast(data: JSONObject): void;
|
|
57
|
+
notify(data: JSONObject): void;
|
|
58
|
+
joinChannel(channel: string, connectionId: string): void;
|
|
59
|
+
leaveChannel(channel: string, connectionId: string): void;
|
|
60
|
+
disconnect(connectionId: string, message?: string | null): void;
|
|
61
|
+
wsOnUpgradeHandler(res: uWS.HttpResponse, req: uWS.HttpRequest, context: uWS.us_socket_context_t): void;
|
|
62
|
+
wsOnOpenHandler(socket: KuzzleWebSocket): void;
|
|
63
|
+
wsOnCloseHandler(socket: KuzzleWebSocket, code: number, message: ArrayBuffer): void;
|
|
64
|
+
wsOnMessageHandler(socket: KuzzleWebSocket, data: ArrayBuffer): Promise<void>;
|
|
56
65
|
/**
|
|
57
66
|
* Absorb as much of the backpressure buffer as possible
|
|
58
67
|
* @param {uWS.WebSocket} socket
|
|
59
68
|
*/
|
|
60
|
-
wsOnDrainHandler(socket:
|
|
69
|
+
wsOnDrainHandler(socket: KuzzleWebSocket): void;
|
|
61
70
|
/**
|
|
62
71
|
* Forwards an error to a socket
|
|
63
72
|
*
|
|
@@ -66,7 +75,7 @@ declare class HttpWsProtocol extends Protocol {
|
|
|
66
75
|
* @param {Error} error
|
|
67
76
|
* @param {String} requestId @optional
|
|
68
77
|
*/
|
|
69
|
-
wsSendError(socket:
|
|
78
|
+
wsSendError(socket: KuzzleWebSocket, connection: ClientConnection, error: KuzzleError, requestId?: string): void;
|
|
70
79
|
/**
|
|
71
80
|
* Sends a message immediately, or queue it up for later if backpressure built
|
|
72
81
|
* up
|
|
@@ -74,7 +83,7 @@ declare class HttpWsProtocol extends Protocol {
|
|
|
74
83
|
* @param {uWS.WebSocket} socket
|
|
75
84
|
* @param {Buffer} payload
|
|
76
85
|
*/
|
|
77
|
-
wsSend(socket:
|
|
86
|
+
wsSend(socket: KuzzleWebSocket, payload: Buffer): void;
|
|
78
87
|
/**
|
|
79
88
|
* @param {uWS.HttpResponse} response
|
|
80
89
|
* @param {uWS.HttpRequest} request
|
|
@@ -87,16 +96,27 @@ declare class HttpWsProtocol extends Protocol {
|
|
|
87
96
|
* @param {uWS.HttpResponse} response
|
|
88
97
|
* @param {Function} cb
|
|
89
98
|
*/
|
|
90
|
-
httpReadData(message: HttpMessage, response: uWS.HttpResponse, cb:
|
|
91
|
-
httpParseContent(message:
|
|
92
|
-
|
|
99
|
+
httpReadData(message: HttpMessage, response: uWS.HttpResponse, cb: (error?: Error) => void): void;
|
|
100
|
+
httpParseContent(message: HttpMessage, content: Buffer, cb: (error?: Error) => void): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Fills `message.content` from a multipart/form-data payload, file parts
|
|
103
|
+
* base64-encoded and the rest read as text.
|
|
104
|
+
*
|
|
105
|
+
* Returns false when a part is over the configured `maxFormFileSize`, leaving
|
|
106
|
+
* the caller to raise the error — a boolean rather than a throw so
|
|
107
|
+
* `httpParseContent` keeps answering through its callback, and split out of
|
|
108
|
+
* it to stay under the cognitive complexity ceiling the `.js` → `.ts` rename
|
|
109
|
+
* re-scores as new code.
|
|
110
|
+
*/
|
|
111
|
+
private httpParseMultipart;
|
|
112
|
+
httpProcessRequest(response: uWS.HttpResponse, message: HttpMessage): void;
|
|
93
113
|
/**
|
|
94
114
|
*
|
|
95
115
|
* @param {uWS.HttpRequest} request
|
|
96
116
|
* @param {uWS.HttpResponse} response
|
|
97
117
|
* @param {HttpMessage} message
|
|
98
118
|
*/
|
|
99
|
-
httpWriteRequestHeaders(request:
|
|
119
|
+
httpWriteRequestHeaders(request: Request, response: uWS.HttpResponse, message: HttpMessage): void;
|
|
100
120
|
/**
|
|
101
121
|
* Send stream data thorugh the HTTP response
|
|
102
122
|
* @param {HttpRequest} request
|
|
@@ -104,7 +124,7 @@ declare class HttpWsProtocol extends Protocol {
|
|
|
104
124
|
* @param {uWS.HttpResponse} response
|
|
105
125
|
* @param {HttpMessage} message
|
|
106
126
|
*/
|
|
107
|
-
httpSendStream(request:
|
|
127
|
+
httpSendStream(request: Request, response: uWS.HttpResponse, httpStream: HttpStream, message: HttpMessage): void;
|
|
108
128
|
/**
|
|
109
129
|
* Forward an error response to the client
|
|
110
130
|
*
|
|
@@ -130,42 +150,13 @@ declare class HttpWsProtocol extends Protocol {
|
|
|
130
150
|
* @param {Buffer} data
|
|
131
151
|
* @param {Function} callback
|
|
132
152
|
*/
|
|
133
|
-
httpCompress(message: HttpMessage, data: Buffer, callback:
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
enabled: any;
|
|
142
|
-
opts: {
|
|
143
|
-
compression: number;
|
|
144
|
-
idleTimeout: number;
|
|
145
|
-
maxPayloadLength: number;
|
|
146
|
-
resetIdleTimeoutOnSend: any;
|
|
147
|
-
sendPingsAutomatically: any;
|
|
148
|
-
};
|
|
149
|
-
rateLimit: any;
|
|
150
|
-
};
|
|
151
|
-
parseHttpOptions(): {
|
|
152
|
-
enabled: boolean;
|
|
153
|
-
headers?: undefined;
|
|
154
|
-
opts?: undefined;
|
|
155
|
-
} | {
|
|
156
|
-
enabled: any;
|
|
157
|
-
headers: string[][];
|
|
158
|
-
opts: {
|
|
159
|
-
allowCompression: any;
|
|
160
|
-
allowedContentTypes: any[];
|
|
161
|
-
maxEncodingLayers: any;
|
|
162
|
-
maxFormFileSize: any;
|
|
163
|
-
};
|
|
164
|
-
};
|
|
153
|
+
httpCompress(message: HttpMessage, data: Buffer, callback: (result: {
|
|
154
|
+
compressed: Buffer;
|
|
155
|
+
encoding: string;
|
|
156
|
+
}) => void): void;
|
|
157
|
+
httpUncompress(message: HttpMessage, payload: Buffer, cb: (error?: Error | null, result?: Buffer) => void): void;
|
|
158
|
+
httpUncompressStep(encodings: string[], payload: Buffer, cb: (error?: Error | null, result?: Buffer) => void, index: number): void;
|
|
159
|
+
parseWebSocketOptions(): JSONObject;
|
|
160
|
+
parseHttpOptions(): JSONObject;
|
|
165
161
|
}
|
|
166
|
-
|
|
167
|
-
import uWS = require("uWebSockets.js");
|
|
168
|
-
import ClientConnection = require("../clientConnection");
|
|
169
|
-
import HttpMessage = require("./httpMessage");
|
|
170
|
-
import { HttpStream } from "../../../types/HttpStream";
|
|
171
|
-
import { Request } from "../../../api/request/kuzzleRequest";
|
|
162
|
+
export = HttpWsProtocol;
|