@webda/core 4.0.0-beta.5 → 4.0.0-beta.7

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 (157) hide show
  1. package/README.md +6 -5
  2. package/lib/application/application.d.ts.map +1 -1
  3. package/lib/application/application.js +18 -6
  4. package/lib/application/application.js.map +1 -1
  5. package/lib/application/iconfiguration.d.ts +31 -0
  6. package/lib/application/iconfiguration.d.ts.map +1 -1
  7. package/lib/application/iconfiguration.js.map +1 -1
  8. package/lib/application/unpackedapplication.d.ts.map +1 -1
  9. package/lib/application/unpackedapplication.js +2 -1
  10. package/lib/application/unpackedapplication.js.map +1 -1
  11. package/lib/bin/cli-phase.d.ts +18 -2
  12. package/lib/bin/cli-phase.d.ts.map +1 -1
  13. package/lib/bin/cli-phase.js +25 -0
  14. package/lib/bin/cli-phase.js.map +1 -1
  15. package/lib/bin/cli.d.ts +19 -0
  16. package/lib/bin/cli.d.ts.map +1 -1
  17. package/lib/bin/cli.js +120 -41
  18. package/lib/bin/cli.js.map +1 -1
  19. package/lib/configurations/configuration.service.d.ts +7 -0
  20. package/lib/configurations/configuration.service.d.ts.map +1 -1
  21. package/lib/configurations/configuration.service.js +18 -5
  22. package/lib/configurations/configuration.service.js.map +1 -1
  23. package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -1
  24. package/lib/configurations/kubernetesconfiguration.service.js +1 -4
  25. package/lib/configurations/kubernetesconfiguration.service.js.map +1 -1
  26. package/lib/contexts/httpcontext.d.ts +15 -1
  27. package/lib/contexts/httpcontext.d.ts.map +1 -1
  28. package/lib/contexts/httpcontext.js +61 -19
  29. package/lib/contexts/httpcontext.js.map +1 -1
  30. package/lib/contexts/operationcontext.d.ts +6 -0
  31. package/lib/contexts/operationcontext.d.ts.map +1 -1
  32. package/lib/contexts/operationcontext.js +16 -2
  33. package/lib/contexts/operationcontext.js.map +1 -1
  34. package/lib/contexts/restcontext.d.ts +110 -0
  35. package/lib/contexts/restcontext.d.ts.map +1 -0
  36. package/lib/contexts/restcontext.js +247 -0
  37. package/lib/contexts/restcontext.js.map +1 -0
  38. package/lib/contexts/streamingcontext.d.ts +71 -0
  39. package/lib/contexts/streamingcontext.d.ts.map +1 -0
  40. package/lib/contexts/streamingcontext.js +93 -0
  41. package/lib/contexts/streamingcontext.js.map +1 -0
  42. package/lib/contexts/webcontext.d.ts +20 -0
  43. package/lib/contexts/webcontext.d.ts.map +1 -1
  44. package/lib/contexts/webcontext.js +43 -10
  45. package/lib/contexts/webcontext.js.map +1 -1
  46. package/lib/contexts/websocketcontext.d.ts +39 -0
  47. package/lib/contexts/websocketcontext.d.ts.map +1 -0
  48. package/lib/contexts/websocketcontext.js +67 -0
  49. package/lib/contexts/websocketcontext.js.map +1 -0
  50. package/lib/core/asyncqueue.d.ts +50 -0
  51. package/lib/core/asyncqueue.d.ts.map +1 -0
  52. package/lib/core/asyncqueue.js +96 -0
  53. package/lib/core/asyncqueue.js.map +1 -0
  54. package/lib/core/core.d.ts +21 -2
  55. package/lib/core/core.d.ts.map +1 -1
  56. package/lib/core/core.js +87 -24
  57. package/lib/core/core.js.map +1 -1
  58. package/lib/core/icore.d.ts +14 -1
  59. package/lib/core/icore.d.ts.map +1 -1
  60. package/lib/core/icore.js.map +1 -1
  61. package/lib/core/instancestorage.d.ts +1 -0
  62. package/lib/core/instancestorage.d.ts.map +1 -1
  63. package/lib/core/instancestorage.js +1 -0
  64. package/lib/core/instancestorage.js.map +1 -1
  65. package/lib/core/operations.d.ts +49 -6
  66. package/lib/core/operations.d.ts.map +1 -1
  67. package/lib/core/operations.js +187 -24
  68. package/lib/core/operations.js.map +1 -1
  69. package/lib/deployers/git.d.ts +4 -2
  70. package/lib/deployers/git.d.ts.map +1 -1
  71. package/lib/deployers/git.js +44 -5
  72. package/lib/deployers/git.js.map +1 -1
  73. package/lib/deployers/packager.d.ts +38 -0
  74. package/lib/deployers/packager.d.ts.map +1 -1
  75. package/lib/deployers/packager.js +70 -18
  76. package/lib/deployers/packager.js.map +1 -1
  77. package/lib/deployers/packager.service.d.ts +33 -0
  78. package/lib/deployers/packager.service.d.ts.map +1 -0
  79. package/lib/deployers/packager.service.js +112 -0
  80. package/lib/deployers/packager.service.js.map +1 -0
  81. package/lib/errors/errors.d.ts +15 -0
  82. package/lib/errors/errors.d.ts.map +1 -1
  83. package/lib/errors/errors.js +20 -0
  84. package/lib/errors/errors.js.map +1 -1
  85. package/lib/index.d.ts +7 -1
  86. package/lib/index.d.ts.map +1 -1
  87. package/lib/index.js +6 -0
  88. package/lib/index.js.map +1 -1
  89. package/lib/models/permissions.d.ts +12 -1
  90. package/lib/models/permissions.d.ts.map +1 -1
  91. package/lib/models/permissions.js +29 -2
  92. package/lib/models/permissions.js.map +1 -1
  93. package/lib/rest/restoperationstransport.service.d.ts +108 -0
  94. package/lib/rest/restoperationstransport.service.d.ts.map +1 -1
  95. package/lib/rest/restoperationstransport.service.js +348 -9
  96. package/lib/rest/restoperationstransport.service.js.map +1 -1
  97. package/lib/rest/router.service.d.ts +1 -1
  98. package/lib/rest/router.service.d.ts.map +1 -1
  99. package/lib/rest/router.service.js.map +1 -1
  100. package/lib/services/audit.model.d.ts.map +1 -1
  101. package/lib/services/audit.model.js +7 -3
  102. package/lib/services/audit.model.js.map +1 -1
  103. package/lib/services/authenticatedencryption.d.ts +25 -0
  104. package/lib/services/authenticatedencryption.d.ts.map +1 -0
  105. package/lib/services/authenticatedencryption.js +56 -0
  106. package/lib/services/authenticatedencryption.js.map +1 -0
  107. package/lib/services/cloudbinary.d.ts.map +1 -1
  108. package/lib/services/cloudbinary.js +3 -2
  109. package/lib/services/cloudbinary.js.map +1 -1
  110. package/lib/services/command.d.ts +7 -1
  111. package/lib/services/command.d.ts.map +1 -1
  112. package/lib/services/command.js +4 -0
  113. package/lib/services/command.js.map +1 -1
  114. package/lib/services/cryptoservice.service.d.ts +405 -25
  115. package/lib/services/cryptoservice.service.d.ts.map +1 -1
  116. package/lib/services/cryptoservice.service.js +779 -72
  117. package/lib/services/cryptoservice.service.js.map +1 -1
  118. package/lib/services/httpserver.service.d.ts.map +1 -1
  119. package/lib/services/httpserver.service.js +15 -9
  120. package/lib/services/httpserver.service.js.map +1 -1
  121. package/lib/services/icryptoservice.d.ts +11 -0
  122. package/lib/services/icryptoservice.d.ts.map +1 -1
  123. package/lib/services/icryptoservice.js +2 -0
  124. package/lib/services/icryptoservice.js.map +1 -1
  125. package/lib/services/mailer.service.d.ts +4 -0
  126. package/lib/services/mailer.service.d.ts.map +1 -1
  127. package/lib/services/mailer.service.js +8 -1
  128. package/lib/services/mailer.service.js.map +1 -1
  129. package/lib/services/operationstransport.d.ts +13 -0
  130. package/lib/services/operationstransport.d.ts.map +1 -1
  131. package/lib/services/operationstransport.js +28 -6
  132. package/lib/services/operationstransport.js.map +1 -1
  133. package/lib/services/pki.encrypter.d.ts +214 -0
  134. package/lib/services/pki.encrypter.d.ts.map +1 -0
  135. package/lib/services/pki.encrypter.js +350 -0
  136. package/lib/services/pki.encrypter.js.map +1 -0
  137. package/lib/services/secretscheck.d.ts +120 -0
  138. package/lib/services/secretscheck.d.ts.map +1 -0
  139. package/lib/services/secretscheck.js +322 -0
  140. package/lib/services/secretscheck.js.map +1 -0
  141. package/lib/services/servicecommands.d.ts +8 -4
  142. package/lib/services/servicecommands.d.ts.map +1 -1
  143. package/lib/services/servicecommands.js +14 -5
  144. package/lib/services/servicecommands.js.map +1 -1
  145. package/lib/session/manager.model.d.ts +3 -1
  146. package/lib/session/manager.model.d.ts.map +1 -1
  147. package/lib/session/manager.model.js +6 -3
  148. package/lib/session/manager.model.js.map +1 -1
  149. package/lib/stores/store.d.ts +20 -1
  150. package/lib/stores/store.d.ts.map +1 -1
  151. package/lib/stores/store.js +29 -1
  152. package/lib/stores/store.js.map +1 -1
  153. package/lib/test/objects.d.ts.map +1 -1
  154. package/lib/test/objects.js +3 -1
  155. package/lib/test/objects.js.map +1 -1
  156. package/package.json +15 -15
  157. package/webda.module.json +224 -50
@@ -3,11 +3,28 @@ import { TransformCase } from "@webda/utils";
3
3
  import { OperationsTransport, OperationsTransportParameters } from "../services/operationstransport.js";
4
4
  import * as WebdaError from "../errors/errors.js";
5
5
  import { useRouter } from "./hooks.js";
6
- import { useApplication } from "../application/hooks.js";
6
+ import { useLog } from "@webda/workout";
7
+ import { HttpContext } from "../contexts/httpcontext.js";
8
+ import { runWithContext } from "../contexts/execution.js";
9
+ import { emitCoreEvent, useCoreEvents } from "../events/events.js";
10
+ import { useApplication, useParameters } from "../application/hooks.js";
7
11
  import { useCore, useModelMetadata } from "../core/hooks.js";
8
- import { useInstanceStorage } from "../core/instancestorage.js";
9
- import { callOperation } from "../core/operations.js";
12
+ import { runWithInstanceStorage, useInstanceStorage } from "../core/instancestorage.js";
13
+ import { callOperation, canCallOperation, getOperationStreaming } from "../core/operations.js";
14
+ import { AsyncQueue } from "../core/asyncqueue.js";
15
+ import { WebSocketOperationContext } from "../contexts/websocketcontext.js";
16
+ import { RestStreamingOperationContext } from "../contexts/restcontext.js";
17
+ import { WebSocketServer } from "ws";
10
18
  import { hasSchema } from "../schemas/hooks.js";
19
+ /**
20
+ * @param data - a raw WebSocket message
21
+ * @returns its length in bytes
22
+ */
23
+ function rawLength(data) {
24
+ if (Array.isArray(data))
25
+ return data.reduce((sum, chunk) => sum + chunk.length, 0);
26
+ return data instanceof ArrayBuffer ? data.byteLength : data.length;
27
+ }
11
28
  /**
12
29
  * Swagger static html
13
30
  */
@@ -87,6 +104,31 @@ export class RESTOperationsTransportParameters extends OperationsTransportParame
87
104
  * @default "PUT"
88
105
  */
89
106
  queryMethod;
107
+ /**
108
+ * Largest message (bytes) a client may send on a bidirectional WebSocket operation; a bigger one closes the socket
109
+ *
110
+ * @default 1048576
111
+ */
112
+ webSocketMaxPayload;
113
+ /**
114
+ * Most unconsumed messages a bidirectional operation may have queued; above it the socket closes with 4413
115
+ *
116
+ * @default 1000
117
+ */
118
+ webSocketMaxQueuedMessages;
119
+ /**
120
+ * Most bytes of unconsumed messages a bidirectional operation may have queued; above it the socket closes with 4413
121
+ *
122
+ * @default 16777216
123
+ */
124
+ webSocketMaxQueuedBytes;
125
+ /**
126
+ * Milliseconds between two keep-alive comments on an open `text/event-stream` response of a server-streaming
127
+ * operation (0 disables them)
128
+ *
129
+ * @default 20000
130
+ */
131
+ streamKeepAliveInterval;
90
132
  /**
91
133
  * Load parameters with defaults
92
134
  * @param params - the service parameters
@@ -96,6 +138,10 @@ export class RESTOperationsTransportParameters extends OperationsTransportParame
96
138
  super.load(params);
97
139
  this.nameTransformer ??= "camelCase";
98
140
  this.queryMethod ??= "PUT";
141
+ this.webSocketMaxPayload ??= 1024 * 1024;
142
+ this.webSocketMaxQueuedMessages ??= 1000;
143
+ this.webSocketMaxQueuedBytes ??= 16 * 1024 * 1024;
144
+ this.streamKeepAliveInterval ??= 20000;
99
145
  // Ensure url ends with /
100
146
  if (this.url && !this.url.endsWith("/")) {
101
147
  this.url += "/";
@@ -103,6 +149,21 @@ export class RESTOperationsTransportParameters extends OperationsTransportParame
103
149
  return this;
104
150
  }
105
151
  }
152
+ /**
153
+ * Truncate a string to a number of UTF-8 bytes without cutting a character (a close reason holds 123 bytes)
154
+ * @param text - the text
155
+ * @param max - the maximum byte length
156
+ * @returns the truncated text
157
+ */
158
+ export function truncateUtf8(text, max) {
159
+ const buffer = Buffer.from(text, "utf8");
160
+ if (buffer.length <= max)
161
+ return text;
162
+ let end = max;
163
+ while (end > 0 && (buffer[end] & 0xc0) === 0x80)
164
+ end--;
165
+ return buffer.subarray(0, end).toString("utf8");
166
+ }
106
167
  /**
107
168
  * REST transport that exposes model operations as RESTful HTTP routes.
108
169
  *
@@ -117,6 +178,13 @@ export class RESTOperationsTransport extends OperationsTransport {
117
178
  * OpenAPI cache
118
179
  */
119
180
  openapiContent;
181
+ /** Bidirectional operations served as WebSocket upgrades: path → operation id */
182
+ webSocketRoutes = new Map();
183
+ /** Shared WebSocket server (noServer: upgrades come from the HttpServer) */
184
+ webSocketServer;
185
+ /** HTTP servers the upgrade listener is already attached to */
186
+ webSocketServers = new WeakSet();
187
+ webSocketEvents = false;
120
188
  /**
121
189
  * Transform name using configured casing
122
190
  * @param name - the name to transform
@@ -135,8 +203,162 @@ export class RESTOperationsTransport extends OperationsTransport {
135
203
  if (this.parameters.exposeOpenAPI) {
136
204
  this.addRoute(".", ["GET"], this.openapi, { hidden: true });
137
205
  }
206
+ // Bidirectional operations: accept WebSocket upgrades on every HTTP server once it listens
207
+ if (!this.webSocketEvents) {
208
+ this.webSocketEvents = true;
209
+ const storage = useInstanceStorage();
210
+ useCoreEvents("Webda.Init.Http", (server) => this.attachWebSockets(server, storage));
211
+ }
138
212
  return this;
139
213
  }
214
+ /**
215
+ * Find the bidirectional operation served on a request URL, the way the router matches HTTP paths: relative to the
216
+ * HttpContext prefix, without the query string, with or without the global route prefix
217
+ * @param uri - the request URL
218
+ * @param prefix - the HttpContext prefix (a gateway stage...)
219
+ * @returns the operation id, if any
220
+ */
221
+ webSocketOperationOf(uri, prefix = "") {
222
+ const context = new HttpContext("localhost", "GET", uri);
223
+ if (prefix)
224
+ context.setPrefix(prefix);
225
+ let path = context.getRelativeUri().split("?")[0];
226
+ const routePrefix = useParameters().routePrefix || "";
227
+ if (routePrefix && path.startsWith(routePrefix))
228
+ path = path.substring(routePrefix.length) || "/";
229
+ return this.webSocketRoutes.get(path);
230
+ }
231
+ /**
232
+ * Serve the bidirectional operations' upgrades on an HTTP server (once per server, only if there are any)
233
+ * @param server - the server emitted by Webda.Init.Http
234
+ * @param storage - the instance storage to run requests in
235
+ */
236
+ attachWebSockets(server, storage) {
237
+ if (this.webSocketRoutes.size === 0 || this.webSocketServers.has(server))
238
+ return;
239
+ this.webSocketServers.add(server);
240
+ server.on("upgrade", (req, socket, head) => {
241
+ runWithInstanceStorage(storage, () => {
242
+ const opId = this.webSocketOperationOf(req.url ?? "/");
243
+ // Not ours (GraphQL subscriptions...): leave the socket to the other listeners
244
+ if (!opId)
245
+ return;
246
+ this.upgradeOperation(opId, server, req, socket, head).catch(err => {
247
+ useLog("ERROR", "WebSocket upgrade failed", opId, err);
248
+ socket.destroy();
249
+ });
250
+ });
251
+ });
252
+ }
253
+ /**
254
+ * Answer an upgrade with an HTTP error
255
+ * @param socket - the raw socket
256
+ * @param status - HTTP status
257
+ * @param message - reason phrase
258
+ */
259
+ refuseUpgrade(socket, status, message) {
260
+ socket.end(`HTTP/1.1 ${status} ${message}\r\nConnection: close\r\nContent-Length: 0\r\n\r\n`);
261
+ }
262
+ /**
263
+ * Check the caller like a normal request (Webda.Request, router request filters, permission) and accept the WebSocket
264
+ * @param opId - the bidirectional operation
265
+ * @param server - the HTTP server
266
+ * @param req - the upgrade request
267
+ * @param socket - the raw socket
268
+ * @param head - first packet of the upgraded stream
269
+ * @returns a promise settled once the upgrade is accepted or refused
270
+ */
271
+ async upgradeOperation(opId, server, req, socket, head) {
272
+ const http = Object.values(useCore().getServices()).find(s => s.server === server && typeof s.getContextFromRequest === "function");
273
+ const base = http && (await http.getContextFromRequest(req));
274
+ if (!base)
275
+ return this.refuseUpgrade(socket, 400, "Bad Request");
276
+ await base.init();
277
+ const allowed = await runWithContext(base, async () => {
278
+ try {
279
+ emitCoreEvent("Webda.Request", { context: base });
280
+ }
281
+ catch {
282
+ // listener error
283
+ }
284
+ return (await useRouter().checkRequest(base)) && canCallOperation(base, opId);
285
+ });
286
+ if (!allowed)
287
+ return this.refuseUpgrade(socket, 403, "Forbidden");
288
+ const storage = useInstanceStorage();
289
+ this.webSocketServer ??= new WebSocketServer({
290
+ noServer: true,
291
+ maxPayload: this.parameters.webSocketMaxPayload
292
+ });
293
+ this.webSocketServer.handleUpgrade(req, socket, head, ws => {
294
+ runWithInstanceStorage(storage, () => {
295
+ this.runWebSocketOperation(opId, base.getHttpContext(), ws, base.getSession()).catch(err => {
296
+ useLog("ERROR", "WebSocket operation failed", opId, err);
297
+ ws.close(1011, "Internal server error");
298
+ });
299
+ });
300
+ });
301
+ }
302
+ /**
303
+ * Run a bidirectional operation over an accepted WebSocket: messages in, chunks out
304
+ * @param opId - the operation
305
+ * @param httpContext - the upgrade request
306
+ * @param ws - the socket
307
+ * @param session - the session loaded when the upgrade was authorized
308
+ */
309
+ async runWebSocketOperation(opId, httpContext, ws, session) {
310
+ const ctx = new WebSocketOperationContext(httpContext, ws, session);
311
+ await ctx.init();
312
+ const input = new AsyncQueue();
313
+ ctx.setExtension("operationInputStream", input);
314
+ const maxQueued = this.parameters.webSocketMaxQueuedMessages;
315
+ const maxQueuedBytes = this.parameters.webSocketMaxQueuedBytes;
316
+ ws.on("message", data => {
317
+ let message;
318
+ try {
319
+ message = JSON.parse(String(data));
320
+ }
321
+ catch {
322
+ ws.close(4400, "Invalid JSON message");
323
+ return;
324
+ }
325
+ input.push(message, rawLength(data));
326
+ if (input.pending > maxQueued || input.pendingBytes > maxQueuedBytes) {
327
+ // The operation does not keep up: stop it rather than buffering without limit
328
+ const bytes = input.pendingBytes > maxQueuedBytes;
329
+ ctx.cancel();
330
+ input.end(true);
331
+ ws.close(4413, bytes ? "Too many queued bytes" : "Too many queued messages");
332
+ }
333
+ });
334
+ ws.on("error", err => useLog("DEBUG", "WebSocket error", opId, err));
335
+ // The client is gone: the operation's writes throw and its pending read ends so its finally blocks run
336
+ ws.on("close", () => {
337
+ ctx.cancel();
338
+ input.end();
339
+ });
340
+ try {
341
+ await callOperation(ctx, opId);
342
+ if (ctx.isCancelled)
343
+ return;
344
+ const output = ctx.getExtension("operationStreaming") ? undefined : ctx.getOutput();
345
+ if (output)
346
+ ws.send(output);
347
+ ws.close(1000);
348
+ }
349
+ catch (err) {
350
+ // Only a client that went away is a silent cancel: an operation raising it while connected is an error
351
+ if (ctx.isCancelled)
352
+ return;
353
+ const status = typeof err?.getResponseCode === "function" ? err.getResponseCode() : undefined;
354
+ if (status >= 400 && status < 500) {
355
+ ws.close(4000 + status, truncateUtf8(String(err.message ?? "Error"), 123));
356
+ return;
357
+ }
358
+ useLog("ERROR", `[WebSocket ${opId}] operation threw:`, err);
359
+ ws.close(status ? 4000 + status : 1011, "Internal server error");
360
+ }
361
+ }
140
362
  /**
141
363
  * Override initTransport to walk the model tree instead of flat iteration.
142
364
  * For each model, we look up its operations and register REST routes.
@@ -187,6 +409,9 @@ export class RESTOperationsTransport extends OperationsTransport {
187
409
  for (const [opId, op] of Object.entries(operations)) {
188
410
  if (op.hidden)
189
411
  continue;
412
+ // A client stream cannot be carried by a plain HTTP request: reachable over gRPC only
413
+ if (getOperationStreaming(op) === "client")
414
+ continue;
190
415
  // Skip if this operation was already handled by model tree walk
191
416
  if (op.context?.model)
192
417
  continue;
@@ -202,18 +427,121 @@ export class RESTOperationsTransport extends OperationsTransport {
202
427
  path = `${this.parameters.url}${opId.toLowerCase().replace(/\./g, "/")}`;
203
428
  methods = ["PUT"];
204
429
  }
430
+ if (getOperationStreaming(op) === "bidi") {
431
+ // Served as a WebSocket upgrade on this path; a plain request cannot carry a bidirectional stream
432
+ if (path.includes("{")) {
433
+ this.log("WARN", `${opId} is bidirectional but its path ${path} has parameters: not served over WebSocket`);
434
+ }
435
+ else {
436
+ this.webSocketRoutes.set(path, opId);
437
+ }
438
+ this.addRoute(path, [...new Set(["GET", ...methods])], async () => {
439
+ throw new WebdaError.HttpError("Upgrade Required: open a WebSocket on this URL", 426);
440
+ }, { get: { tags: op.tags || [], summary: `${op.summary || opId} (WebSocket)`, operationId: opId } });
441
+ continue;
442
+ }
205
443
  const openapi = {
206
444
  [methods[0].toLowerCase()]: {
207
445
  tags: op.tags || [],
208
446
  summary: op.summary || opId,
209
- operationId: opId
447
+ operationId: opId,
448
+ ...(getOperationStreaming(op) === "server" ? { responses: this.streamedResponses() } : {})
210
449
  }
211
450
  };
212
451
  this.addRoute(path, methods, async (context) => {
213
- await callOperation(context, opId);
452
+ await this.runOperation(context, opId);
214
453
  }, openapi);
215
454
  }
216
455
  }
456
+ /**
457
+ * The OpenAPI responses of a server-streaming operation
458
+ * @returns the 200 response with both stream formats
459
+ */
460
+ streamedResponses() {
461
+ return {
462
+ "200": {
463
+ description: "Stream of chunks: one JSON line each (application/x-ndjson), or one `data:` event each when `Accept` is " +
464
+ "text/event-stream, ended by an `end` event. An error after the first chunk is a last `error` event or " +
465
+ '`{"error": {"message", "code"}}` line.',
466
+ content: {
467
+ "application/x-ndjson": { schema: { type: "string", description: "One JSON value per line" } },
468
+ "text/event-stream": { schema: { type: "string", description: "Server-sent events with a JSON `data`" } }
469
+ }
470
+ }
471
+ };
472
+ }
473
+ /**
474
+ * Run an operation for a route: a server-streaming one is streamed to the client as its generator yields, any other
475
+ * is called and its result flushed with the response
476
+ * @param context - the request context
477
+ * @param operationId - the operation
478
+ * @returns a promise settled once the operation is done (a stream: once the response is over)
479
+ */
480
+ async runOperation(context, operationId) {
481
+ const response = context._stream;
482
+ if (getOperationStreaming(useInstanceStorage().operations?.[operationId]) !== "server" ||
483
+ typeof response?.writeHead !== "function") {
484
+ return callOperation(context, operationId);
485
+ }
486
+ return this.streamOperation(context, operationId, response);
487
+ }
488
+ /**
489
+ * Stream a server-streaming operation: NDJSON, or server-sent events when the client accepts them
490
+ *
491
+ * The streaming context is built here, from the request's context, rather than by the HttpServer: only these routes
492
+ * need it, and permissions, validation and events still go through `callOperation` on the request's input. Until the
493
+ * first chunk an error is a normal HTTP error (thrown to the HttpServer); after it, the error is the last event or
494
+ * line of the stream.
495
+ * @param context - the request context
496
+ * @param operationId - the operation
497
+ * @param response - the HTTP response
498
+ * @returns a promise settled once the response is over
499
+ */
500
+ async streamOperation(context, operationId, response) {
501
+ const accept = context.getHttpContext().getUniqueHeader("accept", "") ?? "";
502
+ const format = accept.includes("text/event-stream") ? "sse" : "ndjson";
503
+ const stream = new RestStreamingOperationContext(context.getHttpContext(), response, format, context.getSession(), this.parameters.streamKeepAliveInterval, context.getResponseHeaders(), context.getSetCookieHeaders());
504
+ await stream.init();
505
+ stream.setParameters(context.getParameters());
506
+ stream.startKeepAlive();
507
+ try {
508
+ await callOperation(stream, operationId);
509
+ }
510
+ catch (err) {
511
+ stream.stopKeepAlive();
512
+ // The client went away: nothing to tell
513
+ if (stream.isCancelled || stream.disconnected)
514
+ return stream.finish();
515
+ // Nothing sent yet: a normal HTTP error response
516
+ if (!stream.hasStarted) {
517
+ stream.abortBeforeStart();
518
+ throw err;
519
+ }
520
+ const status = typeof err?.getResponseCode === "function" ? err.getResponseCode() : undefined;
521
+ const clientError = status >= 400 && status < 500;
522
+ if (!clientError)
523
+ useLog("ERROR", `[REST ${operationId}] streamed operation threw:`, err);
524
+ await stream.writeError(clientError ? String(err.message ?? "Error") : "Internal server error", status || 500);
525
+ return stream.finish();
526
+ }
527
+ stream.stopKeepAlive();
528
+ if (stream.isCancelled)
529
+ return stream.finish();
530
+ if (!stream.getExtension("operationStreaming")) {
531
+ // Not a generator after all: a normal response, with the status and headers the operation set
532
+ if (stream.statusCode && stream.statusCode !== 204)
533
+ context.statusCode = stream.statusCode;
534
+ for (const [name, value] of Object.entries(stream.getResponseHeaders()))
535
+ context.setHeader(name, value);
536
+ const output = stream.getOutput();
537
+ if (output !== undefined) {
538
+ context.setHeader("Content-type", "application/json");
539
+ context.write(output);
540
+ }
541
+ return;
542
+ }
543
+ return stream.finish(true);
544
+ }
217
545
  /**
218
546
  * Recursively walk a model and its children, registering routes at each level
219
547
  * @param model - the model class
@@ -637,6 +965,13 @@ export class RESTOperationsTransport extends OperationsTransport {
637
965
  ...(action.openapi?.[method.toLowerCase()] ?? {})
638
966
  };
639
967
  });
968
+ if (getOperationStreaming(useInstanceStorage().operations?.[operationId]) === "server") {
969
+ Object.keys(openapi)
970
+ .filter(k => ["get", "post", "put", "patch", "delete"].includes(k))
971
+ .forEach(k => {
972
+ openapi[k].responses = { ...this.streamedResponses(), ...openapi[k].responses };
973
+ });
974
+ }
640
975
  if (hasSchema(`${identifier}.${actionName}.input`)) {
641
976
  Object.keys(openapi)
642
977
  .filter(k => ["get", "post", "put", "patch", "delete"].includes(k))
@@ -652,7 +987,8 @@ export class RESTOperationsTransport extends OperationsTransport {
652
987
  };
653
988
  });
654
989
  }
655
- if (hasSchema(`${identifier}.${actionName}.output`)) {
990
+ if (hasSchema(`${identifier}.${actionName}.output`) &&
991
+ getOperationStreaming(useInstanceStorage().operations?.[operationId]) !== "server") {
656
992
  Object.keys(openapi)
657
993
  .filter(k => ["get", "post", "put", "patch", "delete"].includes(k))
658
994
  .forEach(k => {
@@ -672,7 +1008,7 @@ export class RESTOperationsTransport extends OperationsTransport {
672
1008
  context.getParameters()[injectAttribute] = context.parameter(`pid.${depth - 1}`);
673
1009
  context.getParameters()[`pid.${depth - 1}`] = undefined;
674
1010
  }
675
- await callOperation(context, operationId);
1011
+ await this.runOperation(context, operationId);
676
1012
  }, openapi);
677
1013
  }
678
1014
  /**
@@ -745,7 +1081,10 @@ export class RESTOperationsTransport extends OperationsTransport {
745
1081
  }
746
1082
  };
747
1083
  }
748
- if (hasSchema(outputSchema)) {
1084
+ if (getOperationStreaming(op) === "server") {
1085
+ openapi[methodKey].responses = this.streamedResponses();
1086
+ }
1087
+ else if (hasSchema(outputSchema)) {
749
1088
  openapi[methodKey].responses = {
750
1089
  "200": {
751
1090
  description: "Operation success",
@@ -759,7 +1098,7 @@ export class RESTOperationsTransport extends OperationsTransport {
759
1098
  }
760
1099
  };
761
1100
  }
762
- this.addRoute(fullPath, [httpMethod], async (context) => callOperation(context, operationId), openapi);
1101
+ this.addRoute(fullPath, [httpMethod], async (context) => this.runOperation(context, operationId), openapi);
763
1102
  });
764
1103
  }
765
1104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"restoperationstransport.service.js","sourceRoot":"","sources":["../../src/rest/restoperationstransport.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restoperationstransport.service.js","sourceRoot":"","sources":["../../src/rest/restoperationstransport.service.ts"],"names":[],"mappings":"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"}
@@ -168,7 +168,7 @@ export declare class Router<T extends RouterParameters = RouterParameters> exten
168
168
  * @param ctx - the operation context
169
169
  * @returns true if the condition is met
170
170
  */
171
- protected checkRequest(ctx: IWebContext): Promise<boolean>;
171
+ checkRequest(ctx: IWebContext): Promise<boolean>;
172
172
  /**
173
173
  * Verify if an origin is allowed to do request on the API
174
174
  *
@@ -1 +1 @@
1
- {"version":3,"file":"router.service.d.ts","sourceRoot":"","sources":["../../src/rest/router.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.service.d.ts","sourceRoot":"","sources":["../../src/rest/router.service.ts"],"names":[],"mappings":"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"}