@rapidrest/service-core 2.2.0 → 2.2.1
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/lib/ApiErrors.js +2 -0
- package/dist/lib/ApiErrors.js.map +1 -1
- package/dist/lib/http/bun/BunAdapters.js +8 -0
- package/dist/lib/http/bun/BunAdapters.js.map +1 -1
- package/dist/lib/http/uWS/Adapters.js +82 -2
- package/dist/lib/http/uWS/Adapters.js.map +1 -1
- package/dist/lib/http/uWS/Router.js +6 -0
- package/dist/lib/http/uWS/Router.js.map +1 -1
- package/dist/lib/models/ModelUtils.js +91 -1
- package/dist/lib/models/ModelUtils.js.map +1 -1
- package/dist/lib/routes/RouteUtils.js +36 -3
- package/dist/lib/routes/RouteUtils.js.map +1 -1
- package/dist/types/ApiErrors.d.ts +2 -0
- package/dist/types/http/bun/BunAdapters.d.ts +7 -0
- package/dist/types/http/uWS/Adapters.d.ts +41 -1
- package/dist/types/models/ModelUtils.d.ts +39 -0
- package/dist/types/routes/RouteUtils.d.ts +20 -0
- package/package.json +1 -1
package/dist/lib/ApiErrors.js
CHANGED
|
@@ -24,6 +24,7 @@ export var ApiErrors;
|
|
|
24
24
|
ApiErrors["SEARCH_OPERATOR_NOT_SUPPORTED"] = "api-020";
|
|
25
25
|
ApiErrors["BULK_CREATE_FAILURE"] = "api-021";
|
|
26
26
|
ApiErrors["BULK_UPDATE_FAILURE"] = "api-022";
|
|
27
|
+
ApiErrors["SEARCH_SCOPED_FIELD"] = "api-023";
|
|
27
28
|
ApiErrors["AUTH_REQUIRED"] = "api-100";
|
|
28
29
|
ApiErrors["AUTH_FAILED"] = "api-101";
|
|
29
30
|
ApiErrors["AUTH_PERMISSION_FAILURE"] = "api-102";
|
|
@@ -52,6 +53,7 @@ export var ApiErrorMessages;
|
|
|
52
53
|
ApiErrorMessages["SEARCH_OPERATOR_NOT_SUPPORTED"] = "The '{{operator}}' operator is not supported by the configured datasource.";
|
|
53
54
|
ApiErrorMessages["BULK_CREATE_FAILURE"] = "Failed to create one or more objects.";
|
|
54
55
|
ApiErrorMessages["BULK_UPDATE_FAILURE"] = "Failed to update one or more objects.";
|
|
56
|
+
ApiErrorMessages["SEARCH_SCOPED_FIELD"] = "Cannot filter, sort or count by scoped field '{{field}}'.";
|
|
55
57
|
ApiErrorMessages["AUTH_REQUIRED"] = "Authorization is required to access this resource.";
|
|
56
58
|
ApiErrorMessages["AUTH_FAILED"] = "Invalid or missing authentication token.";
|
|
57
59
|
ApiErrorMessages["AUTH_PERMISSION_FAILURE"] = "User does not have permission to perform this action.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiErrors.js","sourceRoot":"","sources":["../../src/ApiErrors.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,mCAAmC;AACnC,+EAA+E;AAC/E;;GAEG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ApiErrors.js","sourceRoot":"","sources":["../../src/ApiErrors.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,mCAAmC;AACnC,+EAA+E;AAC/E;;GAEG;AACH,MAAM,CAAN,IAAY,SAwBX;AAxBD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,uCAA0B,CAAA;IAC1B,wCAA2B,CAAA;IAC3B,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,0CAA6B,CAAA;IAC7B,+CAAkC,CAAA;IAClC,2CAA8B,CAAA;IAC9B,6CAAgC,CAAA;IAChC,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,kDAAqC,CAAA;IACrC,iDAAoC,CAAA;IACpC,sDAAyC,CAAA;IACzC,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,gDAAmC,CAAA;IACnC,mDAAsC,CAAA;IACtC,gDAAmC,CAAA;AACvC,CAAC,EAxBW,SAAS,KAAT,SAAS,QAwBpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,gBAwBX;AAxBD,WAAY,gBAAgB;IACxB,gFAA4D,CAAA;IAC5D,uGAAmF,CAAA;IACnF,mEAA+C,CAAA;IAC/C,4FAAwE,CAAA;IACxE,2FAAuE,CAAA;IACvE,yFAAqE,CAAA;IACrE,sGAAkF,CAAA;IAClF,mGAA+E,CAAA;IAC/E,mHAA+F,CAAA;IAC/F,sGAAkF,CAAA;IAClF,4JAAwI,CAAA;IACxI,yHAAqG,CAAA;IACrG,2FAAuE,CAAA;IACvE,kHAA8F,CAAA;IAC9F,gIAA4G,CAAA;IAC5G,iFAA6D,CAAA;IAC7D,iFAA6D,CAAA;IAC7D,qGAAiF,CAAA;IACjF,wFAAoE,CAAA;IACpE,4EAAwD,CAAA;IACxD,qGAAiF,CAAA;IACjF,wGAAoF,CAAA;IACpF,kFAA8D,CAAA;AAClE,CAAC,EAxBW,gBAAgB,KAAhB,gBAAgB,QAwB3B"}
|
|
@@ -338,11 +338,19 @@ export async function readBunBody(req, rawRequest, maxBodySize = DEFAULT_MAX_BOD
|
|
|
338
338
|
* Destroys the returned stream if the client disconnects mid-upload, via the request's own
|
|
339
339
|
* `AbortSignal` — mirroring `makeBodyStream()`'s uWS `onAborted`-driven cleanup — so a handler
|
|
340
340
|
* consuming it via `for await` sees a thrown error instead of hanging forever.
|
|
341
|
+
*
|
|
342
|
+
* A route that never reads the returned stream at all can still trigger that destroy() (the request
|
|
343
|
+
* simply gets aborted independently, e.g. the client navigating away), so a permanent no-op `error`
|
|
344
|
+
* listener is attached — a `Readable` with no active consumer still emits `error` on `destroy(err)`,
|
|
345
|
+
* and Node treats a zero-listener `error` event as fatal (crashes the process). This doesn't swallow
|
|
346
|
+
* anything from a real consumer: EventEmitter calls every registered listener, not just the first, so
|
|
347
|
+
* `for await`/`.pipe()`/an explicit `.on("error")` still see the same event independently.
|
|
341
348
|
*/
|
|
342
349
|
export function makeBunBodyStream(rawRequest) {
|
|
343
350
|
if (!rawRequest.body)
|
|
344
351
|
return undefined;
|
|
345
352
|
const stream = Readable.fromWeb(rawRequest.body);
|
|
353
|
+
stream.on("error", () => undefined);
|
|
346
354
|
rawRequest.signal?.addEventListener("abort", () => {
|
|
347
355
|
if (!stream.destroyed) {
|
|
348
356
|
stream.destroy(new Error("Request aborted before the body stream was fully read."));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunAdapters.js","sourceRoot":"","sources":["../../../../src/http/bun/BunAdapters.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAelC;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IAkBnB,YAAY,GAAY,EAAE,MAAuB;QAb1C,WAAM,GAA2B,EAAE,CAAC;QAEpC,SAAI,GAAQ,SAAS,CAAC;QAGb,kBAAa,GAA2B,EAAE,CAAC;QASvD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;QAEvB,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,yFAAyF;QACzF,2FAA2F;QAC3F,wBAAwB;QACxB,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEvF,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;CACJ;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,WAAW;IAyBpB,YAAY,UAAmB;QAxBvB,gBAAW,GAAW,GAAG,CAAC;QAC1B,aAAQ,GAAmC,IAAI,GAAG,EAAE,CAAC;QACrD,iBAAY,GAAY,KAAK,CAAC;QAC9B,mBAAc,GAAY,KAAK,CAAC;QAChC,eAAU,GAAY,KAAK,CAAC;QAC5B,aAAQ,GAAY,KAAK,CAAC;QAC1B,mBAAc,GAAmB,EAAE,CAAC;QACpC,cAAS,GAAY,KAAK,CAAC;QAC3B,oBAAe,GAAmC,EAAE,CAAC;QAC7D,mEAAmE;QAC5D,WAAM,GAAY,KAAK,CAAC;QAMvB,UAAK,GAAoB,IAAI,CAAC;QAC9B,gBAAW,GAAuD,IAAI,CAAC;QACvE,YAAO,GAAsC,IAAI,CAAC;QAOtD,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,EAAE;YACnD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,aAAa;QACpB,sFAAsF;QACtF,wFAAwF;QACxF,wFAAwF;QACxF,yFAAyF;QACzF,8FAA8F;QAC9F,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,IAAY;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,GAAW,EAAE,KAAiC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,GAAW,EAAE,KAAsB;QACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,IAAI,CAAC,IAAS;QACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI,CAAC,IAAU;QAClB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACf,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;IAEM,GAAG,CAAC,IAAU;QACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACL,yBAAyB;YAC7B,CAAC;YACD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,YAAY;QACf,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAa;YAC1C,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAClC,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAO,EAAE,CAAC;gBACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAqB;QAC9B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QACjD,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,QAAoB;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,OAAmC;QAC/C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAK,OAAO,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEO,WAAW;QACf,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,OAAO,CAAC,OAAO,EAAE;iBACZ,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;iBACrB,KAAK,CAAC,GAAG,EAAE;gBACR,2EAA2E;gBAC3E,2DAA2D;YAC/D,CAAC,CAAC,CAAC;QACX,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,GAAQ;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACL,iBAAiB;YACrB,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,IAAqB;QAClC,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/F,IAAI,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACL,sEAAsE;QAC1E,CAAC;IACL,CAAC;IAEO,aAAa;QACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,iFAAiF;YACjF,IAAI,GAAG,KAAK,gBAAgB;gBAAE,SAAS;YACvC,wFAAwF;YACxF,iFAAiF;YACjF,iEAAiE;YACjE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,MAAM,CAAC,IAAI,KAAK;oBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,cAAc;QAClB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAEO,uBAAuB;QAC3B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC;CACJ;AAED,mFAAmF;AACnF,SAAS,uBAAuB;IAC5B,OAAO,IAAI,QAAQ,CACf,IAAI,CAAC,SAAS,CAAC;QACX,IAAI,EAAE,SAAS,CAAC,iBAAiB;QACjC,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,gBAAgB,CAAC,iBAAiB;KAC9C,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CACnE,CAAC;AACN,CAAC;AAID;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,GAAe,EACf,UAAmB,EACnB,cAAsB,qBAAqB;IAE3C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChE,IAAI,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,WAAW,EAAE,CAAC;QACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnB,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;QACxB,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,SAAS,CAAC;QACN,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;QAC1B,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACL,kDAAkD;YACtD,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,EAAE,CAAC;QAC9D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;IAClB,GAAG,CAAC,IAAI,GAAG,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"BunAdapters.js","sourceRoot":"","sources":["../../../../src/http/bun/BunAdapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,6 +166,16 @@ export class UWSResponse {
|
|
|
166
166
|
this._fireFinish();
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Associates this response with a streaming-body route's `req.bodyStream`, so `end()` can detect
|
|
171
|
+
* a response finalizing before uWS has received the whole declared request body and force the
|
|
172
|
+
* connection closed instead of hanging it — see `isBodyStreamFullyReceived()`'s doc comment for
|
|
173
|
+
* the full rationale. Called once, by the router, right after `makeBodyStream()` creates the
|
|
174
|
+
* stream (`HttpRouteOptions.streamingBody` routes only — never called otherwise).
|
|
175
|
+
*/
|
|
176
|
+
attachBodyStream(stream) {
|
|
177
|
+
this._bodyStream = stream;
|
|
178
|
+
}
|
|
169
179
|
get statusCode() {
|
|
170
180
|
return this._statusCode;
|
|
171
181
|
}
|
|
@@ -220,6 +230,27 @@ export class UWSResponse {
|
|
|
220
230
|
return;
|
|
221
231
|
this._writableEnded = true;
|
|
222
232
|
this._fireFinish();
|
|
233
|
+
if (this._bodyStream && !isBodyStreamFullyReceived(this._bodyStream)) {
|
|
234
|
+
// This is a streaming-body route finalizing its response before uWS has received the
|
|
235
|
+
// whole declared request body — whether because the handler responded without draining
|
|
236
|
+
// req.bodyStream (an auth/validation failure, typically), a slow-but-legitimate client
|
|
237
|
+
// hasn't finished sending yet, or (the exploit this specifically defends against) the
|
|
238
|
+
// client declared a huge Content-Length and never intends to send it. A graceful
|
|
239
|
+
// uwsRes.end() here would leave the connection sitting in uWS's keep-alive machinery
|
|
240
|
+
// waiting for bytes that may never arrive — indefinitely, for the cost of a single
|
|
241
|
+
// request's worth of headers. Force the connection closed instead: uWS won't accept
|
|
242
|
+
// further writes/reads on it either way once this response is finalizing, so there's
|
|
243
|
+
// nothing lost by not attempting a graceful end() here that keep-alive could have reused.
|
|
244
|
+
// uwsRes.close() also fires the onAborted callback already registered in the constructor,
|
|
245
|
+
// which destroys req.bodyStream (via makeBodyStream()'s res.onAbort() hookup) for us.
|
|
246
|
+
try {
|
|
247
|
+
this.uwsRes.close();
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// Already invalid/closed — nothing left to do.
|
|
251
|
+
}
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
223
254
|
this.uwsRes.cork(() => {
|
|
224
255
|
// Write status line (uWS expects "200 OK" format)
|
|
225
256
|
if (!this._headersSent) {
|
|
@@ -447,6 +478,36 @@ export function readBody(uwsRes, req, maxBodySize = DEFAULT_MAX_BODY_SIZE, res)
|
|
|
447
478
|
* plenty of headroom before the network is throttled.
|
|
448
479
|
*/
|
|
449
480
|
export const STREAMING_BODY_HIGH_WATER_MARK = 1024 * 1024;
|
|
481
|
+
/**
|
|
482
|
+
* Internal marker set on every `Readable` returned by `makeBodyStream()`, tracking whether uWS has
|
|
483
|
+
* delivered the final chunk of the request body (`onData`'s `isLast`) yet. Deliberately independent
|
|
484
|
+
* of the stream's own `readableEnded` — Node only flips `readableEnded` once a consumer has actually
|
|
485
|
+
* read all the way to the end, so a stream nobody ever reads from (e.g. a route that rejects the
|
|
486
|
+
* request before touching `req.bodyStream` at all) would stay `readableEnded === false` forever even
|
|
487
|
+
* for a request with an already-fully-arrived, zero-byte body. `isBodyStreamFullyReceived()` reads
|
|
488
|
+
* this marker instead — see its own doc comment and `UWSResponse.end()`, which uses it to decide
|
|
489
|
+
* between a graceful `end()` and a forced `close()`.
|
|
490
|
+
*/
|
|
491
|
+
const FULLY_RECEIVED = Symbol("uwsBodyStreamFullyReceived");
|
|
492
|
+
/**
|
|
493
|
+
* Returns `true` once uWS has delivered the final chunk of `stream`'s request body — i.e. it is safe
|
|
494
|
+
* to let the underlying connection return to uWS's keep-alive pool — regardless of whether anything
|
|
495
|
+
* has actually consumed the stream. Returns `true` for `undefined` (nothing to wait for) so callers
|
|
496
|
+
* can pass `req.bodyStream` directly without an existence check first.
|
|
497
|
+
*
|
|
498
|
+
* See `UWSResponse.end()`: a streaming route's handler can legitimately respond (an auth failure, a
|
|
499
|
+
* validation error, anything) without ever reading `req.bodyStream`. If the client declared a large
|
|
500
|
+
* `Content-Length` and hasn't actually sent it all yet — or, in the malicious case, never intends to
|
|
501
|
+
* — a plain `uwsRes.end()` at that point leaves the keep-alive connection open indefinitely: uWS
|
|
502
|
+
* won't consider it clean for reuse until it has received every byte of the declared body, and nothing
|
|
503
|
+
* in that scenario ever makes that happen. `end()` uses this check to force the connection closed
|
|
504
|
+
* instead whenever it would otherwise leave that promise unfulfilled.
|
|
505
|
+
*/
|
|
506
|
+
export function isBodyStreamFullyReceived(stream) {
|
|
507
|
+
if (!stream)
|
|
508
|
+
return true;
|
|
509
|
+
return stream[FULLY_RECEIVED] === true;
|
|
510
|
+
}
|
|
450
511
|
/**
|
|
451
512
|
* Exposes a uWS request body as a Node `Readable` stream instead of buffering it into memory, for a
|
|
452
513
|
* route registered with `{ streamingBody: true }` (see `HttpRouteOptions`). Does NOT populate
|
|
@@ -466,12 +527,23 @@ export const STREAMING_BODY_HIGH_WATER_MARK = 1024 * 1024;
|
|
|
466
527
|
* pause/resume pairing uWS expects. A slow consumer (a route piping to a slow disk, or one simply
|
|
467
528
|
* not reading yet) still throttles how fast bytes are pulled off the client connection rather than
|
|
468
529
|
* piling up unbounded data in process memory — the failure mode this whole feature exists to avoid.
|
|
530
|
+
* The same pairing discipline also applies to the final chunk: when a chunk that overflows the
|
|
531
|
+
* buffer also happens to be the last one (`isLast`), `pause()` is skipped entirely — the stream is
|
|
532
|
+
* about to signal EOF via `push(null)` regardless, so Node's `Readable` never calls `_read()` again
|
|
533
|
+
* to issue the matching `resume()`, which would otherwise leave uWS's connection paused forever with
|
|
534
|
+
* nothing left in this function to ever un-pause it.
|
|
469
535
|
*
|
|
470
536
|
* The stream is destroyed with an error if the client disconnects mid-upload (wired through the
|
|
471
537
|
* existing single `onAborted` fan-out via `res.onAbort()`, matching `readBody()`'s own abort
|
|
472
538
|
* handling) so a handler awaiting `for await (const chunk of req.bodyStream)` sees a thrown error
|
|
473
539
|
* instead of hanging forever, and can clean up (e.g. delete a partial temp file) in its own
|
|
474
|
-
* `catch`/`finally`.
|
|
540
|
+
* `catch`/`finally`. A route that never reads `req.bodyStream` at all can still hit this path — e.g.
|
|
541
|
+
* `UWSResponse.end()` itself calls `uwsRes.close()` (which fires `onAborted`) when finalizing a
|
|
542
|
+
* response before the body was fully received — so a permanent no-op `error` listener is attached
|
|
543
|
+
* below as well: a `Readable` with no active consumer still emits `error` on `destroy(err)`, and
|
|
544
|
+
* Node treats an `error` event with zero listeners as fatal (crashes the process). This listener
|
|
545
|
+
* doesn't swallow anything from a real consumer — `for await`/`.pipe()`/an explicit `.on("error")`
|
|
546
|
+
* all still see the same event; EventEmitter calls every registered listener, not just the first.
|
|
475
547
|
*
|
|
476
548
|
* Must be called synchronously, before any `await`, in the same tick as request handling begins —
|
|
477
549
|
* uWS requires `onData`/`onAborted` to be registered before any asynchronous operation, matching the
|
|
@@ -501,6 +573,11 @@ export function makeBodyStream(uwsRes, res) {
|
|
|
501
573
|
callback(err);
|
|
502
574
|
},
|
|
503
575
|
});
|
|
576
|
+
stream[FULLY_RECEIVED] = false;
|
|
577
|
+
// Safety net against an unhandled 'error' event crashing the process when nobody ever consumes
|
|
578
|
+
// this stream — see the doc comment above for the full rationale. A real consumer (for await,
|
|
579
|
+
// .pipe(), or its own .on("error")) still observes the same event independently of this listener.
|
|
580
|
+
stream.on("error", () => undefined);
|
|
504
581
|
res.onAbort(() => {
|
|
505
582
|
if (stream.destroyed)
|
|
506
583
|
return;
|
|
@@ -517,12 +594,15 @@ export function makeBodyStream(uwsRes, res) {
|
|
|
517
594
|
// `chunk` is a raw ArrayBuffer uWS reuses/detaches once this callback returns — see the
|
|
518
595
|
// identical, more detailed comment in readBody() above for why `.slice(0)` is required.
|
|
519
596
|
const ok = stream.push(Buffer.from(chunk.slice(0)));
|
|
520
|
-
|
|
597
|
+
// Never pause on the final chunk — see the doc comment above for why that would leave
|
|
598
|
+
// the connection paused with no matching resume() ever coming.
|
|
599
|
+
if (!ok && !isLast) {
|
|
521
600
|
paused = true;
|
|
522
601
|
uwsRes.pause();
|
|
523
602
|
}
|
|
524
603
|
}
|
|
525
604
|
if (isLast) {
|
|
605
|
+
stream[FULLY_RECEIVED] = true;
|
|
526
606
|
stream.push(null);
|
|
527
607
|
}
|
|
528
608
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Adapters.js","sourceRoot":"","sources":["../../../../src/http/uWS/Adapters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Adapters.js","sourceRoot":"","sources":["../../../../src/http/uWS/Adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,12 @@ function makeUWSHandler(globalMiddleware, routeHandlers, options) {
|
|
|
80
80
|
// nothing to buffer or cap up front — enforcing a limit, if desired, is left to the
|
|
81
81
|
// handler consuming req.bodyStream.
|
|
82
82
|
req.bodyStream = makeBodyStream(uwsRes, res);
|
|
83
|
+
// See UWSResponse.end() / isBodyStreamFullyReceived(): lets end() force-close the
|
|
84
|
+
// connection instead of hanging it if the response finalizes before the declared body
|
|
85
|
+
// has actually arrived (e.g. a route rejecting the request without ever reading the
|
|
86
|
+
// stream — an auth failure, a validation error, or a client that never sends the body
|
|
87
|
+
// it declared at all).
|
|
88
|
+
res.attachBodyStream(req.bodyStream);
|
|
83
89
|
}
|
|
84
90
|
else {
|
|
85
91
|
// Body must be read before any middleware runs. If it exceeds maxBodySize, readBody() has
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../../src/http/uWS/Router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../../src/http/uWS/Router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MongoRepository } from "../database/MongoRepository.js";
|
|
2
|
-
import { ApiError, ClassLoader, Logger, StringUtils } from "@rapidrest/core";
|
|
2
|
+
import { ApiError, ClassLoader, Logger, StringUtils, UserUtils } from "@rapidrest/core";
|
|
3
3
|
import "reflect-metadata";
|
|
4
4
|
import { isEmpty } from "lodash-es";
|
|
5
5
|
import { RecoverableBaseEntity } from "./RecoverableBaseEntity.js";
|
|
@@ -186,6 +186,77 @@ export class ModelUtils {
|
|
|
186
186
|
ModelUtils.readOnlyPropertyCache.set(modelClass, results);
|
|
187
187
|
return results;
|
|
188
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Returns a map of every `@RequiresScope`-decorated property on `modelClass` to the scope(s) it requires (the
|
|
191
|
+
* exact same `rrst:scopes` metadata `@rapidrest/core`'s `ObjectUtils.deleteScopedProps()` reads to redact a
|
|
192
|
+
* property from an already-fetched result). `undefined` when `modelClass` isn't provided.
|
|
193
|
+
*
|
|
194
|
+
* Deliberately does NOT use `getReadOnlyPropertyNames()`'s prototype-walking-only pattern: a plain class field
|
|
195
|
+
* initializer (`public salary: number = 0`) compiles to an own-INSTANCE assignment, so it never appears on the
|
|
196
|
+
* prototype at all unless its OWN decorator specifically forces a placeholder there (this framework's
|
|
197
|
+
* `@ReadOnly`/`@Identifier` do; `@rapidrest/core`'s `RequiresScope` has no reason to and doesn't). Confirmed
|
|
198
|
+
* empirically: `Object.getOwnPropertyNames(SomeClass.prototype)` for a bare `@RequiresScope("x") salary = 0`
|
|
199
|
+
* field returns only `["constructor"]`. Instead this walks the property names of an actual constructed
|
|
200
|
+
* instance (mirroring `deleteScopedProps()`'s own `Object.getOwnPropertyNames(obj)` over a data object) union
|
|
201
|
+
* the prototype chain (still needed to also catch a property that IS forced onto the prototype, e.g. one
|
|
202
|
+
* additionally decorated with `@ReadOnly`) — metadata itself is always read off `modelClass.prototype`
|
|
203
|
+
* (`Reflect.getMetadata` walks the prototype chain on its own), regardless of which own-properties surfaced
|
|
204
|
+
* the candidate name.
|
|
205
|
+
*/
|
|
206
|
+
static getScopedPropertyNames(modelClass) {
|
|
207
|
+
if (!modelClass) {
|
|
208
|
+
return undefined;
|
|
209
|
+
}
|
|
210
|
+
const cached = ModelUtils.scopedPropertyCache.get(modelClass);
|
|
211
|
+
if (cached) {
|
|
212
|
+
return cached;
|
|
213
|
+
}
|
|
214
|
+
const instance = new modelClass();
|
|
215
|
+
const candidateNames = new Set(Object.getOwnPropertyNames(instance));
|
|
216
|
+
let proto = Object.getPrototypeOf(instance);
|
|
217
|
+
while (proto) {
|
|
218
|
+
for (const prop of Object.getOwnPropertyNames(proto)) {
|
|
219
|
+
candidateNames.add(prop);
|
|
220
|
+
}
|
|
221
|
+
proto = Object.getPrototypeOf(proto);
|
|
222
|
+
}
|
|
223
|
+
const results = new Map();
|
|
224
|
+
for (const prop of candidateNames) {
|
|
225
|
+
if (prop === "constructor")
|
|
226
|
+
continue;
|
|
227
|
+
const scopes = Reflect.getMetadata("rrst:scopes", modelClass.prototype, prop);
|
|
228
|
+
if (scopes) {
|
|
229
|
+
results.set(prop, scopes);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
ModelUtils.scopedPropertyCache.set(modelClass, results);
|
|
233
|
+
return results;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Rejects (400) a search filter, sort or count referencing a `@RequiresScope`-protected property when the
|
|
237
|
+
* requesting user doesn't hold at least one of its required scopes.
|
|
238
|
+
*
|
|
239
|
+
* Without this, `@RequiresScope` was only ever a RESPONSE-time redaction (`ObjectUtils.deleteScopedProps()`,
|
|
240
|
+
* applied after a query already ran) — a scope-restricted field could still drive `WHERE`/`ORDER BY`/count
|
|
241
|
+
* itself, letting a caller who could never READ the field's value still binary-search it out via repeated
|
|
242
|
+
* `gt()`/`lt()`/`range()` filters, turn a `HEAD` request's `Content-Length` into an existence/equality oracle
|
|
243
|
+
* via `count()`, or read its relative ordering via `sort`. Checked at query-BUILD time instead, so a
|
|
244
|
+
* disallowed field never reaches `WHERE`/`ORDER BY`/count in the first place — matches `hasScopes()`'s exact
|
|
245
|
+
* semantics (same function `deleteScopedProps()` uses), so query-time rejection and response-time redaction
|
|
246
|
+
* never disagree about who has access to a given field.
|
|
247
|
+
*
|
|
248
|
+
* Applied uniformly to every field referenced by a filter (regardless of operator — `eq`/`gt`/`like`/`regex`/
|
|
249
|
+
* `exists`/... all pass through this same per-key check) and to every `sort` key, on both SQL and Mongo.
|
|
250
|
+
*
|
|
251
|
+
* @throws {ApiError} 400 `SEARCH_SCOPED_FIELD` if `property` requires a scope `user` doesn't hold.
|
|
252
|
+
*/
|
|
253
|
+
static assertFieldScope(modelClass, property, user) {
|
|
254
|
+
const scoped = ModelUtils.getScopedPropertyNames(modelClass);
|
|
255
|
+
const requiredScopes = scoped?.get(property);
|
|
256
|
+
if (requiredScopes && !UserUtils.hasScopes(user, requiredScopes)) {
|
|
257
|
+
throw new ApiError(ApiErrors.SEARCH_SCOPED_FIELD, 400, StringUtils.findAndReplace(ApiErrorMessages.SEARCH_SCOPED_FIELD, { field: property }));
|
|
258
|
+
}
|
|
259
|
+
}
|
|
189
260
|
/**
|
|
190
261
|
* Resolves the declared type of a model property, from an explicit `type` override on `@Column` or (falling
|
|
191
262
|
* back) the TypeScript design-time type reflected at decoration time. Returns `undefined` when `modelClass`
|
|
@@ -998,6 +1069,9 @@ export class ModelUtils {
|
|
|
998
1069
|
field: sortKey,
|
|
999
1070
|
}));
|
|
1000
1071
|
}
|
|
1072
|
+
// Sorting by a scoped field the caller can't read would still leak its relative
|
|
1073
|
+
// ordering across records even though its value never appears in the response.
|
|
1074
|
+
ModelUtils.assertFieldScope(modelClass, sortKey, user);
|
|
1001
1075
|
}
|
|
1002
1076
|
}
|
|
1003
1077
|
result[key] = value;
|
|
@@ -1009,6 +1083,10 @@ export class ModelUtils {
|
|
|
1009
1083
|
if (key.split(".").some((segment) => segment.startsWith("$"))) {
|
|
1010
1084
|
throw new ApiError(ApiErrors.INVALID_REQUEST, 400, ApiErrorMessages.INVALID_REQUEST);
|
|
1011
1085
|
}
|
|
1086
|
+
// Reject filtering by a @RequiresScope-protected field before it ever reaches WHERE/count — see
|
|
1087
|
+
// assertFieldScope()'s doc comment. Applies to every operator uniformly (eq/gt/like/regex/exists/...
|
|
1088
|
+
// all funnel through this same per-key loop), not just the ones that go through coerceOperand().
|
|
1089
|
+
ModelUtils.assertFieldScope(modelClass, key, user);
|
|
1012
1090
|
if (Array.isArray(query[key])) {
|
|
1013
1091
|
// Add each value in the array to each corresponding query. Multi-valued keys are "zipped"
|
|
1014
1092
|
// together via `numQueries` above; if this key's array is shorter than another key's, pad the
|
|
@@ -1141,6 +1219,9 @@ export class ModelUtils {
|
|
|
1141
1219
|
field: sortKey,
|
|
1142
1220
|
}));
|
|
1143
1221
|
}
|
|
1222
|
+
// Sorting by a scoped field the caller can't read would still leak its relative
|
|
1223
|
+
// ordering across records even though its value never appears in the response.
|
|
1224
|
+
ModelUtils.assertFieldScope(modelClass, sortKey, user);
|
|
1144
1225
|
}
|
|
1145
1226
|
}
|
|
1146
1227
|
let resolvedSort = {
|
|
@@ -1180,6 +1261,13 @@ export class ModelUtils {
|
|
|
1180
1261
|
if (!ModelUtils.isGroupKey(key) && key.split(".").some((segment) => segment.startsWith("$"))) {
|
|
1181
1262
|
throw new ApiError(ApiErrors.INVALID_REQUEST, 400, ApiErrorMessages.INVALID_REQUEST);
|
|
1182
1263
|
}
|
|
1264
|
+
// Reject filtering by a @RequiresScope-protected field before it ever reaches $match/count — see
|
|
1265
|
+
// assertFieldScope()'s doc comment. Applies to every operator uniformly (eq/gt/like/regex/exists/...
|
|
1266
|
+
// all funnel through this same per-key loop), not just the ones that go through coerceOperand().
|
|
1267
|
+
// $or/$and sub-queries are checked recursively (each is its own buildSearchQueryMongo() call below).
|
|
1268
|
+
if (!ModelUtils.isGroupKey(key)) {
|
|
1269
|
+
ModelUtils.assertFieldScope(modelClass, key, user);
|
|
1270
|
+
}
|
|
1183
1271
|
if (ModelUtils.isGroupKey(key)) {
|
|
1184
1272
|
// Array of OR (or AND) sub-queries
|
|
1185
1273
|
let orResults = [];
|
|
@@ -1489,6 +1577,8 @@ export class ModelUtils {
|
|
|
1489
1577
|
ModelUtils.idPropertyCache = new Map();
|
|
1490
1578
|
ModelUtils.readOnlyPropertyCache = new Map();
|
|
1491
1579
|
ModelUtils.columnTypeCache = new Map();
|
|
1580
|
+
/** Caches each class's `@RequiresScope`-decorated property names to their required scopes (see `assertFieldScope()`). */
|
|
1581
|
+
ModelUtils.scopedPropertyCache = new Map();
|
|
1492
1582
|
/** Sequence used to give every `Raw()` SQL expression's named parameter a unique name within one query. */
|
|
1493
1583
|
ModelUtils.rawParamSeq = 0;
|
|
1494
1584
|
/** Maximum accepted length of a client-supplied `like()`/`regex()` search pattern. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelUtils.js","sourceRoot":"","sources":["../../../src/models/ModelUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModelUtils.js","sourceRoot":"","sources":["../../../src/models/ModelUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -207,6 +207,32 @@ export class RouteUtils {
|
|
|
207
207
|
}
|
|
208
208
|
};
|
|
209
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* Creates a WebSocket-specific error-sanitizing middleware, appended as the last item in every
|
|
212
|
+
* `@WebSocket()` route's handler chain (see `registerRoute()`'s WS branch below). Mirrors what
|
|
213
|
+
* `Server.ts`'s `handleError()`/`serializeError()` already do for ordinary HTTP routes: an
|
|
214
|
+
* `ApiError`'s own status/code/message pass through unchanged (it's meant to reach the client),
|
|
215
|
+
* but anything else — a raw DB driver error, an unexpected throw from `RateLimiter`,
|
|
216
|
+
* `ACLUtils.findACL()`, or any other non-`ApiError` thrown by a middleware in the chain — is
|
|
217
|
+
* replaced with a generic internal error before `runChain()`'s own end-of-chain fallback can turn
|
|
218
|
+
* it into a response.
|
|
219
|
+
*
|
|
220
|
+
* This matters specifically for WebSocket routes because `runChain()`'s fallback response, for a
|
|
221
|
+
* WS route, ends up as the literal WebSocket close reason (`ws.close(1002, message)` — see
|
|
222
|
+
* `Router.ts`/`BunRouter.ts`'s `ws()` `open` handlers), visible to any client via the browser
|
|
223
|
+
* close event's `event.reason`. An ordinary HTTP route gets the same sanitization for free
|
|
224
|
+
* because `Server.ts` registers `handleError` as global middleware, which `registerRoute()`
|
|
225
|
+
* concatenates onto every HTTP route's own handler chain — but `app.ws()` is never given
|
|
226
|
+
* `globalMiddleware` (only the WS-specific chain built here), so WS routes need their own copy of
|
|
227
|
+
* the same safety net.
|
|
228
|
+
*/
|
|
229
|
+
sanitizeWsError() {
|
|
230
|
+
return ((err, _req, _res, next) => {
|
|
231
|
+
next(err instanceof ApiError
|
|
232
|
+
? err
|
|
233
|
+
: new ApiError(ApiErrors.INTERNAL_ERROR, 500, ApiErrorMessages.INTERNAL_ERROR));
|
|
234
|
+
});
|
|
235
|
+
}
|
|
210
236
|
/**
|
|
211
237
|
* Converts the given array of string or Function objects to functions bound to the given route object.
|
|
212
238
|
*
|
|
@@ -419,10 +445,17 @@ export class RouteUtils {
|
|
|
419
445
|
// Build a per-path copy of the middleware chain. `middleware` is shared across
|
|
420
446
|
// every verb/basePath combination for this decorated method (and, once
|
|
421
447
|
// registered, held by reference by the router), so mutating it in place here
|
|
422
|
-
// would corrupt other registrations sharing the same array.
|
|
448
|
+
// would corrupt other registrations sharing the same array. `sanitizeWsError()`
|
|
449
|
+
// is appended last so it sits closest to runChain()'s own end-of-chain fallback —
|
|
450
|
+
// see its doc comment for why WS routes need this even though HTTP routes don't
|
|
451
|
+
// (globalMiddleware, which is where HTTP gets this from, is never given to ws()).
|
|
423
452
|
const wsMiddleware = this.authMiddleware
|
|
424
|
-
? [
|
|
425
|
-
|
|
453
|
+
? [
|
|
454
|
+
this.authMiddleware.authWebSocket(authRequired, authStrategies),
|
|
455
|
+
...middleware,
|
|
456
|
+
this.sanitizeWsError(),
|
|
457
|
+
]
|
|
458
|
+
: [...middleware, this.sanitizeWsError()];
|
|
426
459
|
// Register with the HttpRouter's ws() method; trailing slash handled internally
|
|
427
460
|
app.ws(path, wsMiddleware, undefined, upgradeAuth);
|
|
428
461
|
// Update our OpenAPI spec — WebSocket upgrade is a GET request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteUtils.js","sourceRoot":"","sources":["../../../src/routes/RouteUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RouteUtils.js","sourceRoot":"","sources":["../../../src/routes/RouteUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export declare enum ApiErrors {
|
|
|
19
19
|
SEARCH_OPERATOR_NOT_SUPPORTED = "api-020",
|
|
20
20
|
BULK_CREATE_FAILURE = "api-021",
|
|
21
21
|
BULK_UPDATE_FAILURE = "api-022",
|
|
22
|
+
SEARCH_SCOPED_FIELD = "api-023",
|
|
22
23
|
AUTH_REQUIRED = "api-100",
|
|
23
24
|
AUTH_FAILED = "api-101",
|
|
24
25
|
AUTH_PERMISSION_FAILURE = "api-102",
|
|
@@ -46,6 +47,7 @@ export declare enum ApiErrorMessages {
|
|
|
46
47
|
SEARCH_OPERATOR_NOT_SUPPORTED = "The '{{operator}}' operator is not supported by the configured datasource.",
|
|
47
48
|
BULK_CREATE_FAILURE = "Failed to create one or more objects.",
|
|
48
49
|
BULK_UPDATE_FAILURE = "Failed to update one or more objects.",
|
|
50
|
+
SEARCH_SCOPED_FIELD = "Cannot filter, sort or count by scoped field '{{field}}'.",
|
|
49
51
|
AUTH_REQUIRED = "Authorization is required to access this resource.",
|
|
50
52
|
AUTH_FAILED = "Invalid or missing authentication token.",
|
|
51
53
|
AUTH_PERMISSION_FAILURE = "User does not have permission to perform this action.",
|
|
@@ -152,5 +152,12 @@ export declare function readBunBody(req: BunRequest, rawRequest: Request, maxBod
|
|
|
152
152
|
* Destroys the returned stream if the client disconnects mid-upload, via the request's own
|
|
153
153
|
* `AbortSignal` — mirroring `makeBodyStream()`'s uWS `onAborted`-driven cleanup — so a handler
|
|
154
154
|
* consuming it via `for await` sees a thrown error instead of hanging forever.
|
|
155
|
+
*
|
|
156
|
+
* A route that never reads the returned stream at all can still trigger that destroy() (the request
|
|
157
|
+
* simply gets aborted independently, e.g. the client navigating away), so a permanent no-op `error`
|
|
158
|
+
* listener is attached — a `Readable` with no active consumer still emits `error` on `destroy(err)`,
|
|
159
|
+
* and Node treats a zero-listener `error` event as fatal (crashes the process). This doesn't swallow
|
|
160
|
+
* anything from a real consumer: EventEmitter calls every registered listener, not just the first, so
|
|
161
|
+
* `for await`/`.pipe()`/an explicit `.on("error")` still see the same event independently.
|
|
155
162
|
*/
|
|
156
163
|
export declare function makeBunBodyStream(rawRequest: Request): Readable | undefined;
|
|
@@ -71,9 +71,23 @@ export declare class UWSResponse implements HttpResponse {
|
|
|
71
71
|
isHead: boolean;
|
|
72
72
|
/** Intermediate result passed between middleware. */
|
|
73
73
|
result?: any;
|
|
74
|
+
/**
|
|
75
|
+
* Set by the router via `attachBodyStream()` for a streaming-body route (see
|
|
76
|
+
* `HttpRouteOptions.streamingBody`). `end()` checks `isBodyStreamFullyReceived()` against it —
|
|
77
|
+
* see that function's doc comment and `end()` for the full rationale.
|
|
78
|
+
*/
|
|
79
|
+
private _bodyStream?;
|
|
74
80
|
/** Allow arbitrary per-response properties. */
|
|
75
81
|
[key: string]: any;
|
|
76
82
|
constructor(uwsRes: UWSHttpResponse);
|
|
83
|
+
/**
|
|
84
|
+
* Associates this response with a streaming-body route's `req.bodyStream`, so `end()` can detect
|
|
85
|
+
* a response finalizing before uWS has received the whole declared request body and force the
|
|
86
|
+
* connection closed instead of hanging it — see `isBodyStreamFullyReceived()`'s doc comment for
|
|
87
|
+
* the full rationale. Called once, by the router, right after `makeBodyStream()` creates the
|
|
88
|
+
* stream (`HttpRouteOptions.streamingBody` routes only — never called otherwise).
|
|
89
|
+
*/
|
|
90
|
+
attachBodyStream(stream: Readable): void;
|
|
77
91
|
get statusCode(): number;
|
|
78
92
|
get headersSent(): boolean;
|
|
79
93
|
get writableEnded(): boolean;
|
|
@@ -147,6 +161,21 @@ export declare function readBody(uwsRes: UWSHttpResponse, req: UWSRequest, maxBo
|
|
|
147
161
|
* plenty of headroom before the network is throttled.
|
|
148
162
|
*/
|
|
149
163
|
export declare const STREAMING_BODY_HIGH_WATER_MARK: number;
|
|
164
|
+
/**
|
|
165
|
+
* Returns `true` once uWS has delivered the final chunk of `stream`'s request body — i.e. it is safe
|
|
166
|
+
* to let the underlying connection return to uWS's keep-alive pool — regardless of whether anything
|
|
167
|
+
* has actually consumed the stream. Returns `true` for `undefined` (nothing to wait for) so callers
|
|
168
|
+
* can pass `req.bodyStream` directly without an existence check first.
|
|
169
|
+
*
|
|
170
|
+
* See `UWSResponse.end()`: a streaming route's handler can legitimately respond (an auth failure, a
|
|
171
|
+
* validation error, anything) without ever reading `req.bodyStream`. If the client declared a large
|
|
172
|
+
* `Content-Length` and hasn't actually sent it all yet — or, in the malicious case, never intends to
|
|
173
|
+
* — a plain `uwsRes.end()` at that point leaves the keep-alive connection open indefinitely: uWS
|
|
174
|
+
* won't consider it clean for reuse until it has received every byte of the declared body, and nothing
|
|
175
|
+
* in that scenario ever makes that happen. `end()` uses this check to force the connection closed
|
|
176
|
+
* instead whenever it would otherwise leave that promise unfulfilled.
|
|
177
|
+
*/
|
|
178
|
+
export declare function isBodyStreamFullyReceived(stream: Readable | undefined): boolean;
|
|
150
179
|
/**
|
|
151
180
|
* Exposes a uWS request body as a Node `Readable` stream instead of buffering it into memory, for a
|
|
152
181
|
* route registered with `{ streamingBody: true }` (see `HttpRouteOptions`). Does NOT populate
|
|
@@ -166,12 +195,23 @@ export declare const STREAMING_BODY_HIGH_WATER_MARK: number;
|
|
|
166
195
|
* pause/resume pairing uWS expects. A slow consumer (a route piping to a slow disk, or one simply
|
|
167
196
|
* not reading yet) still throttles how fast bytes are pulled off the client connection rather than
|
|
168
197
|
* piling up unbounded data in process memory — the failure mode this whole feature exists to avoid.
|
|
198
|
+
* The same pairing discipline also applies to the final chunk: when a chunk that overflows the
|
|
199
|
+
* buffer also happens to be the last one (`isLast`), `pause()` is skipped entirely — the stream is
|
|
200
|
+
* about to signal EOF via `push(null)` regardless, so Node's `Readable` never calls `_read()` again
|
|
201
|
+
* to issue the matching `resume()`, which would otherwise leave uWS's connection paused forever with
|
|
202
|
+
* nothing left in this function to ever un-pause it.
|
|
169
203
|
*
|
|
170
204
|
* The stream is destroyed with an error if the client disconnects mid-upload (wired through the
|
|
171
205
|
* existing single `onAborted` fan-out via `res.onAbort()`, matching `readBody()`'s own abort
|
|
172
206
|
* handling) so a handler awaiting `for await (const chunk of req.bodyStream)` sees a thrown error
|
|
173
207
|
* instead of hanging forever, and can clean up (e.g. delete a partial temp file) in its own
|
|
174
|
-
* `catch`/`finally`.
|
|
208
|
+
* `catch`/`finally`. A route that never reads `req.bodyStream` at all can still hit this path — e.g.
|
|
209
|
+
* `UWSResponse.end()` itself calls `uwsRes.close()` (which fires `onAborted`) when finalizing a
|
|
210
|
+
* response before the body was fully received — so a permanent no-op `error` listener is attached
|
|
211
|
+
* below as well: a `Readable` with no active consumer still emits `error` on `destroy(err)`, and
|
|
212
|
+
* Node treats an `error` event with zero listeners as fatal (crashes the process). This listener
|
|
213
|
+
* doesn't swallow anything from a real consumer — `for await`/`.pipe()`/an explicit `.on("error")`
|
|
214
|
+
* all still see the same event; EventEmitter calls every registered listener, not just the first.
|
|
175
215
|
*
|
|
176
216
|
* Must be called synchronously, before any `await`, in the same tick as request handling begins —
|
|
177
217
|
* uWS requires `onData`/`onAborted` to be registered before any asynchronous operation, matching the
|
|
@@ -67,6 +67,8 @@ export declare class ModelUtils {
|
|
|
67
67
|
private static idPropertyCache;
|
|
68
68
|
private static readOnlyPropertyCache;
|
|
69
69
|
private static columnTypeCache;
|
|
70
|
+
/** Caches each class's `@RequiresScope`-decorated property names to their required scopes (see `assertFieldScope()`). */
|
|
71
|
+
private static scopedPropertyCache;
|
|
70
72
|
/** Sequence used to give every `Raw()` SQL expression's named parameter a unique name within one query. */
|
|
71
73
|
private static rawParamSeq;
|
|
72
74
|
/**
|
|
@@ -120,6 +122,43 @@ export declare class ModelUtils {
|
|
|
120
122
|
* @returns The list of all property names that have the @ReadOnly decorator applied.
|
|
121
123
|
*/
|
|
122
124
|
static getReadOnlyPropertyNames(modelClass: any): string[];
|
|
125
|
+
/**
|
|
126
|
+
* Returns a map of every `@RequiresScope`-decorated property on `modelClass` to the scope(s) it requires (the
|
|
127
|
+
* exact same `rrst:scopes` metadata `@rapidrest/core`'s `ObjectUtils.deleteScopedProps()` reads to redact a
|
|
128
|
+
* property from an already-fetched result). `undefined` when `modelClass` isn't provided.
|
|
129
|
+
*
|
|
130
|
+
* Deliberately does NOT use `getReadOnlyPropertyNames()`'s prototype-walking-only pattern: a plain class field
|
|
131
|
+
* initializer (`public salary: number = 0`) compiles to an own-INSTANCE assignment, so it never appears on the
|
|
132
|
+
* prototype at all unless its OWN decorator specifically forces a placeholder there (this framework's
|
|
133
|
+
* `@ReadOnly`/`@Identifier` do; `@rapidrest/core`'s `RequiresScope` has no reason to and doesn't). Confirmed
|
|
134
|
+
* empirically: `Object.getOwnPropertyNames(SomeClass.prototype)` for a bare `@RequiresScope("x") salary = 0`
|
|
135
|
+
* field returns only `["constructor"]`. Instead this walks the property names of an actual constructed
|
|
136
|
+
* instance (mirroring `deleteScopedProps()`'s own `Object.getOwnPropertyNames(obj)` over a data object) union
|
|
137
|
+
* the prototype chain (still needed to also catch a property that IS forced onto the prototype, e.g. one
|
|
138
|
+
* additionally decorated with `@ReadOnly`) — metadata itself is always read off `modelClass.prototype`
|
|
139
|
+
* (`Reflect.getMetadata` walks the prototype chain on its own), regardless of which own-properties surfaced
|
|
140
|
+
* the candidate name.
|
|
141
|
+
*/
|
|
142
|
+
private static getScopedPropertyNames;
|
|
143
|
+
/**
|
|
144
|
+
* Rejects (400) a search filter, sort or count referencing a `@RequiresScope`-protected property when the
|
|
145
|
+
* requesting user doesn't hold at least one of its required scopes.
|
|
146
|
+
*
|
|
147
|
+
* Without this, `@RequiresScope` was only ever a RESPONSE-time redaction (`ObjectUtils.deleteScopedProps()`,
|
|
148
|
+
* applied after a query already ran) — a scope-restricted field could still drive `WHERE`/`ORDER BY`/count
|
|
149
|
+
* itself, letting a caller who could never READ the field's value still binary-search it out via repeated
|
|
150
|
+
* `gt()`/`lt()`/`range()` filters, turn a `HEAD` request's `Content-Length` into an existence/equality oracle
|
|
151
|
+
* via `count()`, or read its relative ordering via `sort`. Checked at query-BUILD time instead, so a
|
|
152
|
+
* disallowed field never reaches `WHERE`/`ORDER BY`/count in the first place — matches `hasScopes()`'s exact
|
|
153
|
+
* semantics (same function `deleteScopedProps()` uses), so query-time rejection and response-time redaction
|
|
154
|
+
* never disagree about who has access to a given field.
|
|
155
|
+
*
|
|
156
|
+
* Applied uniformly to every field referenced by a filter (regardless of operator — `eq`/`gt`/`like`/`regex`/
|
|
157
|
+
* `exists`/... all pass through this same per-key check) and to every `sort` key, on both SQL and Mongo.
|
|
158
|
+
*
|
|
159
|
+
* @throws {ApiError} 400 `SEARCH_SCOPED_FIELD` if `property` requires a scope `user` doesn't hold.
|
|
160
|
+
*/
|
|
161
|
+
private static assertFieldScope;
|
|
123
162
|
/**
|
|
124
163
|
* Resolves the declared type of a model property, from an explicit `type` override on `@Column` or (falling
|
|
125
164
|
* back) the TypeScript design-time type reflected at decoration time. Returns `undefined` when `modelClass`
|
|
@@ -71,6 +71,26 @@ export declare class RouteUtils {
|
|
|
71
71
|
* @param requiredScopes The list of scopes of which the authenticated user's token must carry at least one.
|
|
72
72
|
*/
|
|
73
73
|
checkRequiredScopes(requiredScopes: string[]): RequestHandler;
|
|
74
|
+
/**
|
|
75
|
+
* Creates a WebSocket-specific error-sanitizing middleware, appended as the last item in every
|
|
76
|
+
* `@WebSocket()` route's handler chain (see `registerRoute()`'s WS branch below). Mirrors what
|
|
77
|
+
* `Server.ts`'s `handleError()`/`serializeError()` already do for ordinary HTTP routes: an
|
|
78
|
+
* `ApiError`'s own status/code/message pass through unchanged (it's meant to reach the client),
|
|
79
|
+
* but anything else — a raw DB driver error, an unexpected throw from `RateLimiter`,
|
|
80
|
+
* `ACLUtils.findACL()`, or any other non-`ApiError` thrown by a middleware in the chain — is
|
|
81
|
+
* replaced with a generic internal error before `runChain()`'s own end-of-chain fallback can turn
|
|
82
|
+
* it into a response.
|
|
83
|
+
*
|
|
84
|
+
* This matters specifically for WebSocket routes because `runChain()`'s fallback response, for a
|
|
85
|
+
* WS route, ends up as the literal WebSocket close reason (`ws.close(1002, message)` — see
|
|
86
|
+
* `Router.ts`/`BunRouter.ts`'s `ws()` `open` handlers), visible to any client via the browser
|
|
87
|
+
* close event's `event.reason`. An ordinary HTTP route gets the same sanitization for free
|
|
88
|
+
* because `Server.ts` registers `handleError` as global middleware, which `registerRoute()`
|
|
89
|
+
* concatenates onto every HTTP route's own handler chain — but `app.ws()` is never given
|
|
90
|
+
* `globalMiddleware` (only the WS-specific chain built here), so WS routes need their own copy of
|
|
91
|
+
* the same safety net.
|
|
92
|
+
*/
|
|
93
|
+
sanitizeWsError(): RequestHandler;
|
|
74
94
|
/**
|
|
75
95
|
* Converts the given array of string or Function objects to functions bound to the given route object.
|
|
76
96
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rapidrest/service-core",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "Provides all core functionality for RapidREST based backend services.",
|
|
5
5
|
"repository": "https://github.com/rapidrest/service-core.git",
|
|
6
6
|
"author": "RapidREST <rapidrests@gmail.com>",
|