kuzzle 2.19.2 → 2.19.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.
Files changed (289) hide show
  1. package/lib/api/controllers/adminController.js +94 -80
  2. package/lib/api/controllers/authController.js +239 -212
  3. package/lib/api/controllers/baseController.js +89 -51
  4. package/lib/api/controllers/bulkController.js +62 -49
  5. package/lib/api/controllers/clusterController.js +6 -8
  6. package/lib/api/controllers/collectionController.js +140 -129
  7. package/lib/api/controllers/debugController.d.ts +2 -2
  8. package/lib/api/controllers/debugController.js +33 -31
  9. package/lib/api/controllers/documentController.js +365 -274
  10. package/lib/api/controllers/index.js +13 -13
  11. package/lib/api/controllers/indexController.js +46 -50
  12. package/lib/api/controllers/memoryStorageController.js +410 -360
  13. package/lib/api/controllers/realtimeController.js +37 -36
  14. package/lib/api/controllers/securityController.js +553 -412
  15. package/lib/api/controllers/serverController.js +111 -104
  16. package/lib/api/documentExtractor.js +75 -68
  17. package/lib/api/funnel.js +411 -312
  18. package/lib/api/httpRoutes.js +1493 -324
  19. package/lib/api/openapi/OpenApiManager.d.ts +1 -1
  20. package/lib/api/openapi/OpenApiManager.js +22 -22
  21. package/lib/api/openapi/components/document/count.yaml +1 -1
  22. package/lib/api/openapi/components/document/create.yaml +2 -2
  23. package/lib/api/openapi/components/document/delete.yaml +1 -1
  24. package/lib/api/openapi/components/document/deleteByQuery.yaml +1 -1
  25. package/lib/api/openapi/components/document/exists.yaml +1 -1
  26. package/lib/api/openapi/components/document/get.yaml +2 -2
  27. package/lib/api/openapi/components/document/index.js +12 -12
  28. package/lib/api/openapi/components/document/replace.yaml +1 -1
  29. package/lib/api/openapi/components/document/scroll.yaml +1 -1
  30. package/lib/api/openapi/components/document/validate.yaml +1 -1
  31. package/lib/api/openapi/components/index.d.ts +2 -2
  32. package/lib/api/openapi/components/index.js +1 -1
  33. package/lib/api/openapi/components/security/index.js +1 -1
  34. package/lib/api/openapi/components/security/upsertUser.yaml +2 -3
  35. package/lib/api/openapi/index.d.ts +1 -1
  36. package/lib/api/openapi/openApiGenerator.d.ts +1 -1
  37. package/lib/api/openapi/openApiGenerator.js +7 -7
  38. package/lib/api/rateLimiter.js +12 -13
  39. package/lib/api/request/index.d.ts +4 -4
  40. package/lib/api/request/kuzzleRequest.d.ts +9 -9
  41. package/lib/api/request/kuzzleRequest.js +89 -87
  42. package/lib/api/request/requestContext.d.ts +2 -2
  43. package/lib/api/request/requestContext.js +17 -17
  44. package/lib/api/request/requestInput.d.ts +1 -1
  45. package/lib/api/request/requestInput.js +19 -19
  46. package/lib/api/request/requestResponse.d.ts +4 -4
  47. package/lib/api/request/requestResponse.js +31 -33
  48. package/lib/cluster/command.js +48 -44
  49. package/lib/cluster/idCardHandler.d.ts +1 -1
  50. package/lib/cluster/idCardHandler.js +15 -15
  51. package/lib/cluster/index.js +2 -2
  52. package/lib/cluster/node.js +301 -269
  53. package/lib/cluster/publisher.js +45 -46
  54. package/lib/cluster/state.d.ts +5 -5
  55. package/lib/cluster/state.js +8 -8
  56. package/lib/cluster/subscriber.js +163 -113
  57. package/lib/cluster/workers/IDCardRenewer.js +33 -32
  58. package/lib/config/default.config.d.ts +1 -1
  59. package/lib/config/default.config.js +212 -171
  60. package/lib/config/documentEventAliases.js +6 -6
  61. package/lib/config/index.js +161 -98
  62. package/lib/config/sdkCompatibility.json +8 -8
  63. package/lib/core/auth/formatProcessing.js +7 -7
  64. package/lib/core/auth/passportResponse.js +7 -7
  65. package/lib/core/auth/passportWrapper.js +34 -30
  66. package/lib/core/auth/tokenManager.d.ts +2 -2
  67. package/lib/core/auth/tokenManager.js +11 -10
  68. package/lib/core/backend/applicationManager.d.ts +1 -1
  69. package/lib/core/backend/applicationManager.js +2 -2
  70. package/lib/core/backend/backend.d.ts +3 -3
  71. package/lib/core/backend/backend.js +34 -31
  72. package/lib/core/backend/backendCluster.d.ts +2 -2
  73. package/lib/core/backend/backendCluster.js +5 -5
  74. package/lib/core/backend/backendConfig.d.ts +2 -2
  75. package/lib/core/backend/backendConfig.js +3 -3
  76. package/lib/core/backend/backendController.d.ts +2 -2
  77. package/lib/core/backend/backendController.js +9 -10
  78. package/lib/core/backend/backendErrors.d.ts +3 -3
  79. package/lib/core/backend/backendErrors.js +2 -1
  80. package/lib/core/backend/backendHook.d.ts +2 -2
  81. package/lib/core/backend/backendHook.js +5 -5
  82. package/lib/core/backend/backendImport.d.ts +3 -3
  83. package/lib/core/backend/backendImport.js +23 -23
  84. package/lib/core/backend/backendOpenApi.d.ts +2 -2
  85. package/lib/core/backend/backendOpenApi.js +16 -16
  86. package/lib/core/backend/backendPipe.d.ts +2 -2
  87. package/lib/core/backend/backendPipe.js +6 -6
  88. package/lib/core/backend/backendPlugin.d.ts +4 -4
  89. package/lib/core/backend/backendPlugin.js +14 -14
  90. package/lib/core/backend/backendStorage.d.ts +2 -2
  91. package/lib/core/backend/backendStorage.js +1 -2
  92. package/lib/core/backend/backendVault.d.ts +2 -2
  93. package/lib/core/backend/backendVault.js +3 -3
  94. package/lib/core/backend/index.d.ts +14 -14
  95. package/lib/core/backend/internalLogger.d.ts +1 -1
  96. package/lib/core/backend/internalLogger.js +5 -5
  97. package/lib/core/cache/cacheDbEnum.js +4 -4
  98. package/lib/core/cache/cacheEngine.js +79 -85
  99. package/lib/core/network/accessLogger.js +126 -120
  100. package/lib/core/network/clientConnection.js +5 -5
  101. package/lib/core/network/context.js +8 -8
  102. package/lib/core/network/entryPoint.js +100 -85
  103. package/lib/core/network/httpRouter/index.js +63 -60
  104. package/lib/core/network/httpRouter/routeHandler.js +18 -19
  105. package/lib/core/network/httpRouter/routePart.js +23 -19
  106. package/lib/core/network/protocolManifest.js +3 -3
  107. package/lib/core/network/protocols/httpMessage.js +8 -10
  108. package/lib/core/network/protocols/httpwsProtocol.js +305 -250
  109. package/lib/core/network/protocols/internalProtocol.js +27 -24
  110. package/lib/core/network/protocols/mqttProtocol.js +106 -96
  111. package/lib/core/network/protocols/protocol.js +20 -17
  112. package/lib/core/network/router.js +56 -46
  113. package/lib/core/plugin/plugin.js +151 -120
  114. package/lib/core/plugin/pluginContext.d.ts +7 -7
  115. package/lib/core/plugin/pluginContext.js +48 -44
  116. package/lib/core/plugin/pluginManifest.js +13 -12
  117. package/lib/core/plugin/pluginRepository.js +26 -27
  118. package/lib/core/plugin/pluginsManager.js +425 -304
  119. package/lib/core/plugin/privilegedContext.js +3 -3
  120. package/lib/core/realtime/actionEnum.js +1 -1
  121. package/lib/core/realtime/channel.d.ts +1 -1
  122. package/lib/core/realtime/channel.js +22 -22
  123. package/lib/core/realtime/connectionRooms.d.ts +1 -1
  124. package/lib/core/realtime/hotelClerk.d.ts +2 -2
  125. package/lib/core/realtime/hotelClerk.js +53 -50
  126. package/lib/core/realtime/index.js +5 -5
  127. package/lib/core/realtime/notification/document.js +25 -25
  128. package/lib/core/realtime/notification/index.js +4 -4
  129. package/lib/core/realtime/notification/server.js +3 -3
  130. package/lib/core/realtime/notification/user.js +4 -4
  131. package/lib/core/realtime/notifier.js +113 -75
  132. package/lib/core/realtime/room.d.ts +1 -1
  133. package/lib/core/realtime/subscription.d.ts +1 -1
  134. package/lib/core/realtime/subscription.js +1 -1
  135. package/lib/core/security/index.js +8 -8
  136. package/lib/core/security/profileRepository.d.ts +6 -6
  137. package/lib/core/security/profileRepository.js +48 -45
  138. package/lib/core/security/roleRepository.js +127 -115
  139. package/lib/core/security/securityLoader.js +70 -63
  140. package/lib/core/security/tokenRepository.js +132 -118
  141. package/lib/core/security/userRepository.js +104 -88
  142. package/lib/core/shared/KoncordeWrapper.d.ts +1 -1
  143. package/lib/core/shared/KoncordeWrapper.js +3 -1
  144. package/lib/core/shared/abstractManifest.js +22 -23
  145. package/lib/core/shared/repository.js +69 -67
  146. package/lib/core/shared/sdk/embeddedSdk.d.ts +2 -2
  147. package/lib/core/shared/sdk/embeddedSdk.js +36 -32
  148. package/lib/core/shared/sdk/funnelProtocol.d.ts +1 -1
  149. package/lib/core/shared/sdk/funnelProtocol.js +11 -11
  150. package/lib/core/shared/sdk/impersonatedSdk.js +19 -18
  151. package/lib/core/shared/store.js +127 -32
  152. package/lib/core/statistics/index.js +2 -2
  153. package/lib/core/statistics/statistics.js +99 -85
  154. package/lib/core/storage/clientAdapter.js +219 -136
  155. package/lib/core/storage/indexCache.js +3 -3
  156. package/lib/core/storage/storageEngine.js +10 -13
  157. package/lib/core/storage/storeScopeEnum.js +3 -3
  158. package/lib/core/validation/baseType.js +12 -10
  159. package/lib/core/validation/index.js +2 -2
  160. package/lib/core/validation/types/anything.js +4 -4
  161. package/lib/core/validation/types/boolean.js +7 -7
  162. package/lib/core/validation/types/date.js +165 -131
  163. package/lib/core/validation/types/email.js +18 -21
  164. package/lib/core/validation/types/enum.js +34 -21
  165. package/lib/core/validation/types/geoPoint.js +7 -7
  166. package/lib/core/validation/types/geoShape.js +148 -125
  167. package/lib/core/validation/types/integer.js +9 -9
  168. package/lib/core/validation/types/ipAddress.js +17 -19
  169. package/lib/core/validation/types/numeric.js +36 -29
  170. package/lib/core/validation/types/object.js +19 -19
  171. package/lib/core/validation/types/string.js +36 -29
  172. package/lib/core/validation/types/url.js +17 -19
  173. package/lib/core/validation/validation.js +422 -378
  174. package/lib/kerror/codes/1-services.json +7 -1
  175. package/lib/kerror/codes/4-plugin.json +2 -2
  176. package/lib/kerror/codes/index.js +85 -63
  177. package/lib/kerror/errors/badRequestError.d.ts +1 -1
  178. package/lib/kerror/errors/externalServiceError.d.ts +1 -1
  179. package/lib/kerror/errors/forbiddenError.d.ts +1 -1
  180. package/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
  181. package/lib/kerror/errors/index.d.ts +15 -15
  182. package/lib/kerror/errors/internalError.d.ts +1 -1
  183. package/lib/kerror/errors/kuzzleError.d.ts +1 -1
  184. package/lib/kerror/errors/multipleErrorsError.d.ts +1 -1
  185. package/lib/kerror/errors/multipleErrorsError.js +1 -1
  186. package/lib/kerror/errors/notFoundError.d.ts +1 -1
  187. package/lib/kerror/errors/partialError.d.ts +1 -1
  188. package/lib/kerror/errors/partialError.js +1 -1
  189. package/lib/kerror/errors/pluginImplementationError.d.ts +1 -1
  190. package/lib/kerror/errors/pluginImplementationError.js +2 -1
  191. package/lib/kerror/errors/preconditionError.d.ts +1 -1
  192. package/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
  193. package/lib/kerror/errors/sizeLimitError.d.ts +1 -1
  194. package/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
  195. package/lib/kerror/errors/unauthorizedError.d.ts +1 -1
  196. package/lib/kerror/index.d.ts +3 -3
  197. package/lib/kerror/index.js +17 -16
  198. package/lib/kuzzle/dumpGenerator.js +130 -114
  199. package/lib/kuzzle/event/kuzzleEventEmitter.js +96 -70
  200. package/lib/kuzzle/event/pipeRunner.js +25 -24
  201. package/lib/kuzzle/event/waterfall.js +13 -15
  202. package/lib/kuzzle/index.js +2 -2
  203. package/lib/kuzzle/internalIndexHandler.js +80 -59
  204. package/lib/kuzzle/kuzzle.js +99 -99
  205. package/lib/kuzzle/kuzzleStateEnum.js +1 -1
  206. package/lib/kuzzle/log.js +23 -18
  207. package/lib/kuzzle/vault.js +34 -19
  208. package/lib/model/security/profile.d.ts +3 -3
  209. package/lib/model/security/profile.js +38 -37
  210. package/lib/model/security/rights.js +5 -5
  211. package/lib/model/security/role.d.ts +3 -3
  212. package/lib/model/security/role.js +25 -26
  213. package/lib/model/security/token.d.ts +1 -1
  214. package/lib/model/security/token.js +4 -4
  215. package/lib/model/security/user.d.ts +2 -2
  216. package/lib/model/security/user.js +9 -9
  217. package/lib/model/storage/apiKey.js +43 -33
  218. package/lib/model/storage/baseModel.js +49 -45
  219. package/lib/service/cache/redis.js +60 -55
  220. package/lib/service/service.js +17 -17
  221. package/lib/service/storage/elasticsearch.js +839 -755
  222. package/lib/service/storage/esWrapper.js +103 -86
  223. package/lib/service/storage/queryTranslator.js +52 -59
  224. package/lib/types/Controller.d.ts +3 -3
  225. package/lib/types/ControllerDefinition.d.ts +3 -3
  226. package/lib/types/DebugModule.d.ts +2 -2
  227. package/lib/types/DebugModule.js +1 -1
  228. package/lib/types/Global.d.ts +1 -1
  229. package/lib/types/HttpStream.d.ts +2 -1
  230. package/lib/types/HttpStream.js +7 -5
  231. package/lib/types/Kuzzle.d.ts +1 -1
  232. package/lib/types/KuzzleDocument.d.ts +1 -1
  233. package/lib/types/OpenApiDefinition.d.ts +1 -1
  234. package/lib/types/PasswordPolicy.d.ts +1 -1
  235. package/lib/types/Plugin.d.ts +6 -6
  236. package/lib/types/Plugin.js +2 -2
  237. package/lib/types/Policy.d.ts +1 -1
  238. package/lib/types/RequestPayload.d.ts +1 -1
  239. package/lib/types/ResponsePayload.d.ts +1 -1
  240. package/lib/types/Token.d.ts +1 -1
  241. package/lib/types/User.d.ts +1 -1
  242. package/lib/types/config/DumpConfiguration.d.ts +8 -8
  243. package/lib/types/config/HttpConfiguration.d.ts +1 -1
  244. package/lib/types/config/KuzzleConfiguration.d.ts +1 -1
  245. package/lib/types/config/LimitsConfiguration.d.ts +8 -8
  246. package/lib/types/config/PluginsConfiguration.d.ts +4 -4
  247. package/lib/types/config/SecurityConfiguration.d.ts +62 -62
  248. package/lib/types/config/ServerConfiguration.d.ts +55 -55
  249. package/lib/types/config/ServicesConfiguration.d.ts +2 -2
  250. package/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +10 -10
  251. package/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +3 -3
  252. package/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +194 -110
  253. package/lib/types/errors/ErrorDefinition.d.ts +1 -1
  254. package/lib/types/errors/ErrorDomains.d.ts +1 -1
  255. package/lib/types/index.d.ts +38 -38
  256. package/lib/types/realtime/RealtimeScope.d.ts +1 -1
  257. package/lib/types/realtime/RealtimeUsers.d.ts +1 -1
  258. package/lib/util/assertType.js +13 -11
  259. package/lib/util/async.d.ts +1 -0
  260. package/lib/util/async.js +61 -0
  261. package/lib/util/asyncStore.js +19 -21
  262. package/lib/util/bufferedPassThrough.d.ts +2 -2
  263. package/lib/util/bufferedPassThrough.js +4 -4
  264. package/lib/util/bytes.js +9 -13
  265. package/lib/util/crypto.js +1 -1
  266. package/lib/util/debug.js +5 -5
  267. package/lib/util/deprecate.js +24 -21
  268. package/lib/util/didYouMean.js +7 -7
  269. package/lib/util/dump-collection.d.ts +2 -2
  270. package/lib/util/dump-collection.js +26 -26
  271. package/lib/util/esRequest.d.ts +1 -0
  272. package/lib/util/esRequest.js +62 -0
  273. package/lib/util/extractFields.js +24 -25
  274. package/lib/util/inflector.js +5 -5
  275. package/lib/util/koncordeCompat.d.ts +2 -2
  276. package/lib/util/koncordeCompat.js +5 -5
  277. package/lib/util/memoize.js +3 -5
  278. package/lib/util/mutex.d.ts +19 -1
  279. package/lib/util/mutex.js +39 -12
  280. package/lib/util/name-generator.js +1331 -1331
  281. package/lib/util/promback.js +8 -10
  282. package/lib/util/readYamlFile.d.ts +1 -1
  283. package/lib/util/readYamlFile.js +1 -1
  284. package/lib/util/requestAssertions.js +34 -34
  285. package/lib/util/safeObject.js +5 -5
  286. package/lib/util/stackTrace.js +20 -22
  287. package/lib/util/wildcard.js +15 -15
  288. package/package.json +6 -6
  289. package/npm-shrinkwrap.json +0 -19422
@@ -19,10 +19,10 @@
19
19
  * limitations under the License.
20
20
  */
21
21
 
22
- 'use strict';
22
+ "use strict";
23
23
 
24
- const { Request } = require('../../../api/request');
25
- const kerror = require('../../../kerror').wrap('network', 'http');
24
+ const { Request } = require("../../../api/request");
25
+ const kerror = require("../../../kerror").wrap("network", "http");
26
26
 
27
27
  /**
28
28
  * Object returned by routePart.getHandler(),
@@ -38,7 +38,7 @@ const kerror = require('../../../kerror').wrap('network', 'http');
38
38
  * in JSON format
39
39
  */
40
40
  class RouteHandler {
41
- constructor (url, query, message) {
41
+ constructor(url, query, message) {
42
42
  this.handler = null;
43
43
  this._request = null;
44
44
  this.url = url;
@@ -46,7 +46,7 @@ class RouteHandler {
46
46
  this.data = {
47
47
  body: message.content,
48
48
  requestId: message.requestId,
49
- ...query
49
+ ...query,
50
50
  };
51
51
 
52
52
  this.connection = {
@@ -55,31 +55,30 @@ class RouteHandler {
55
55
  id: message.connection.id,
56
56
  ips: message.ips,
57
57
  path: message.path,
58
- protocol: 'http',
58
+ protocol: "http",
59
59
  // @deprecated use "path" instead
60
60
  url: message.url,
61
- verb: message.method
62
- }
61
+ verb: message.method,
62
+ },
63
63
  };
64
64
 
65
65
  for (const k of Object.keys(message.headers)) {
66
- if ( k.toLowerCase() === 'authorization'
67
- && message.headers[k].toLowerCase().startsWith('bearer ')
66
+ if (
67
+ k.toLowerCase() === "authorization" &&
68
+ message.headers[k].toLowerCase().startsWith("bearer ")
68
69
  ) {
69
- this.data.jwt = message.headers[k].substring('Bearer '.length);
70
- }
71
- else if (k.toLowerCase() === 'x-kuzzle-volatile') {
70
+ this.data.jwt = message.headers[k].substring("Bearer ".length);
71
+ } else if (k.toLowerCase() === "x-kuzzle-volatile") {
72
72
  try {
73
73
  this.data.volatile = JSON.parse(message.headers[k]);
74
- }
75
- catch (e) {
76
- throw kerror.getFrom(e, 'volatile_parse_failed', e.message);
74
+ } catch (e) {
75
+ throw kerror.getFrom(e, "volatile_parse_failed", e.message);
77
76
  }
78
77
  }
79
78
  }
80
79
  }
81
80
 
82
- get request () {
81
+ get request() {
83
82
  if (this._request === null) {
84
83
  this._request = new Request(this.data, this.connection);
85
84
  }
@@ -92,7 +91,7 @@ class RouteHandler {
92
91
  * @param {string} name
93
92
  * @param {string} value
94
93
  */
95
- addArgument (name, value) {
94
+ addArgument(name, value) {
96
95
  this.data[name] = value;
97
96
  }
98
97
 
@@ -101,7 +100,7 @@ class RouteHandler {
101
100
  *
102
101
  * @param {Function} callback
103
102
  */
104
- invokeHandler (callback) {
103
+ invokeHandler(callback) {
105
104
  this.handler(this.request, callback);
106
105
  }
107
106
  }
@@ -19,12 +19,12 @@
19
19
  * limitations under the License.
20
20
  */
21
21
 
22
- 'use strict';
22
+ "use strict";
23
23
 
24
- const URL = require('url');
25
- const querystring = require('querystring');
26
- const RouteHandler = require('./routeHandler');
27
- const { has } = require('../../../util/safeObject');
24
+ const URL = require("url");
25
+ const querystring = require("querystring");
26
+ const RouteHandler = require("./routeHandler");
27
+ const { has } = require("../../../util/safeObject");
28
28
 
29
29
  /**
30
30
  * Defines a new route part
@@ -32,7 +32,7 @@ const { has } = require('../../../util/safeObject');
32
32
  * @class RoutePart
33
33
  */
34
34
  class RoutePart {
35
- constructor () {
35
+ constructor() {
36
36
  this.subparts = {};
37
37
  this.placeholders = null;
38
38
 
@@ -45,8 +45,10 @@ class RoutePart {
45
45
  * @param {string} part
46
46
  * @returns {boolean}
47
47
  */
48
- exists (part) {
49
- return this.subparts[part] !== undefined && this.subparts[part].handler !== null;
48
+ exists(part) {
49
+ return (
50
+ this.subparts[part] !== undefined && this.subparts[part].handler !== null
51
+ );
50
52
  }
51
53
 
52
54
  /**
@@ -56,8 +58,8 @@ class RoutePart {
56
58
  * @param {string} part
57
59
  * @returns {RoutePart}
58
60
  */
59
- getNext (part) {
60
- if (! has(this.subparts, part)) {
61
+ getNext(part) {
62
+ if (!has(this.subparts, part)) {
61
63
  this.subparts[part] = new RoutePart();
62
64
  }
63
65
 
@@ -71,21 +73,21 @@ class RoutePart {
71
73
  * @param {HttpMessage} message
72
74
  * @returns {RouteHandler} registered function handler
73
75
  */
74
- getHandler (message) {
76
+ getHandler(message) {
75
77
  // Do not use WHATWG API yet, stick with the legacy (and deprecated) URL
76
78
  // There are two issues:
77
79
  // - Heavy performance impact: https://github.com/nodejs/node/issues/30334
78
80
  // - Double slash bug: https://github.com/nodejs/node/issues/30776
79
81
  const parsed = URL.parse(message.url, true);
80
- let pathname = parsed.pathname || ''; // pathname is set to null if empty
82
+ let pathname = parsed.pathname || ""; // pathname is set to null if empty
81
83
 
82
- if (pathname[pathname.length - 1] === '/') {
84
+ if (pathname[pathname.length - 1] === "/") {
83
85
  pathname = pathname.slice(0, -1);
84
86
  }
85
87
 
86
88
  const routeHandler = new RouteHandler(pathname, parsed.query, message);
87
89
 
88
- return getHandlerPart(this, pathname.split('/'), routeHandler);
90
+ return getHandlerPart(this, pathname.split("/"), routeHandler);
89
91
  }
90
92
  }
91
93
 
@@ -98,7 +100,7 @@ class RoutePart {
98
100
  * @param {Array<string>} placeholders - sorted array to populate the list of parametric values
99
101
  * @returns {RouteHandler} registered function handler
100
102
  */
101
- function getHandlerPart (routePart, parts, routeHandler, placeholders = []) {
103
+ function getHandlerPart(routePart, parts, routeHandler, placeholders = []) {
102
104
  let part;
103
105
 
104
106
  do {
@@ -122,16 +124,18 @@ function getHandlerPart (routePart, parts, routeHandler, placeholders = []) {
122
124
  routePart.subparts[part],
123
125
  parts,
124
126
  routeHandler,
125
- placeholders);
127
+ placeholders
128
+ );
126
129
  }
127
130
 
128
- if (routePart.subparts['*']) {
131
+ if (routePart.subparts["*"]) {
129
132
  placeholders.push(part);
130
133
  return getHandlerPart(
131
- routePart.subparts['*'],
134
+ routePart.subparts["*"],
132
135
  parts,
133
136
  routeHandler,
134
- placeholders);
137
+ placeholders
138
+ );
135
139
  }
136
140
 
137
141
  return routeHandler;
@@ -19,12 +19,12 @@
19
19
  * limitations under the License.
20
20
  */
21
21
 
22
- 'use strict';
22
+ "use strict";
23
23
 
24
- const AbstractManifest = require('../shared/abstractManifest');
24
+ const AbstractManifest = require("../shared/abstractManifest");
25
25
 
26
26
  class ProtocolManifest extends AbstractManifest {
27
- constructor (protocolPath, protocol) {
27
+ constructor(protocolPath, protocol) {
28
28
  super(protocolPath);
29
29
 
30
30
  this.protocol = protocol;
@@ -19,7 +19,7 @@
19
19
  * limitations under the License.
20
20
  */
21
21
 
22
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  /**
25
25
  * @class HttpMessage
@@ -29,7 +29,7 @@ class HttpMessage {
29
29
  * @param {ClientConnection} connection
30
30
  * @param {uWS.HttpRequest} request
31
31
  */
32
- constructor (connection, request) {
32
+ constructor(connection, request) {
33
33
  this.connection = connection;
34
34
  this._content = null;
35
35
  this.ips = connection.ips;
@@ -38,8 +38,7 @@ class HttpMessage {
38
38
 
39
39
  if (this.query.length > 0) {
40
40
  this.path = `${request.getUrl()}?${this.query}`;
41
- }
42
- else {
41
+ } else {
43
42
  this.path = request.getUrl();
44
43
  }
45
44
 
@@ -51,19 +50,18 @@ class HttpMessage {
51
50
 
52
51
  request.forEach((name, value) => (this.headers[name] = value));
53
52
 
54
- this.requestId = this.headers['x-kuzzle-request-id'] || connection.id;
53
+ this.requestId = this.headers["x-kuzzle-request-id"] || connection.id;
55
54
  }
56
55
 
57
- set content (value) {
58
- if (! value || value.length === 0) {
56
+ set content(value) {
57
+ if (!value || value.length === 0) {
59
58
  this._content = null;
60
- }
61
- else {
59
+ } else {
62
60
  this._content = value;
63
61
  }
64
62
  }
65
63
 
66
- get content () {
64
+ get content() {
67
65
  return this._content;
68
66
  }
69
67
  }