@forklaunch/core 0.17.1 → 0.17.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{apiDefinition.types-XZ0lrfFc.d.mts → contractDetails.types-BKkaBgAN.d.mts} +883 -883
- package/lib/{apiDefinition.types-XZ0lrfFc.d.ts → contractDetails.types-BKkaBgAN.d.ts} +883 -883
- package/lib/http/index.d.mts +3 -3
- package/lib/http/index.d.ts +3 -3
- package/lib/http/index.js +68 -16
- package/lib/http/index.js.map +1 -1
- package/lib/http/index.mjs +68 -16
- package/lib/http/index.mjs.map +1 -1
- package/lib/ws/index.d.mts +2 -2
- package/lib/ws/index.d.ts +2 -2
- package/package.json +25 -25
package/lib/http/index.mjs
CHANGED
|
@@ -1323,7 +1323,8 @@ function resolveRouteMiddlewares(params) {
|
|
|
1323
1323
|
params.requestSchema,
|
|
1324
1324
|
params.responseSchemas,
|
|
1325
1325
|
params.openTelemetryCollector,
|
|
1326
|
-
|
|
1326
|
+
// Use dynamic lookup from router instance instead of captured params
|
|
1327
|
+
() => params.router ? params.router.routerOptions : params.routerOptions
|
|
1327
1328
|
),
|
|
1328
1329
|
...params.postEnrichMiddleware,
|
|
1329
1330
|
parse,
|
|
@@ -1471,56 +1472,94 @@ var ForklaunchExpressLikeRouter = class _ForklaunchExpressLikeRouter {
|
|
|
1471
1472
|
* @param controllerHandler
|
|
1472
1473
|
* @returns
|
|
1473
1474
|
*/
|
|
1474
|
-
#localParamRequest(
|
|
1475
|
+
#localParamRequest(middlewares, controllerHandler, contractDetails, requestSchema, responseSchemas, version) {
|
|
1475
1476
|
return async (route, request) => {
|
|
1476
1477
|
let statusCode;
|
|
1477
1478
|
let responseMessage;
|
|
1478
1479
|
const responseHeaders = {};
|
|
1480
|
+
const resEventHandlers = {};
|
|
1479
1481
|
const req = {
|
|
1480
1482
|
params: request?.params ?? {},
|
|
1481
1483
|
query: request?.query ?? {},
|
|
1482
1484
|
headers: request?.headers ?? {},
|
|
1483
1485
|
body: discriminateBody(this.schemaValidator, request?.body)?.schema ?? {},
|
|
1484
1486
|
path: route,
|
|
1485
|
-
|
|
1487
|
+
originalPath: route,
|
|
1488
|
+
method: "GET",
|
|
1489
|
+
version,
|
|
1490
|
+
// Properties needed by middlewares
|
|
1491
|
+
schemaValidator: this.schemaValidator,
|
|
1492
|
+
contractDetails,
|
|
1493
|
+
requestSchema,
|
|
1494
|
+
openTelemetryCollector: this.openTelemetryCollector,
|
|
1495
|
+
_globalOptions: () => this.routerOptions,
|
|
1496
|
+
context: {
|
|
1497
|
+
correlationId: "local-fetch-" + Date.now(),
|
|
1498
|
+
span: void 0
|
|
1499
|
+
},
|
|
1500
|
+
_rawBody: void 0,
|
|
1501
|
+
_parsedVersions: void 0
|
|
1486
1502
|
};
|
|
1487
1503
|
const res = {
|
|
1504
|
+
statusCode: 200,
|
|
1488
1505
|
status: (code) => {
|
|
1489
1506
|
statusCode = code;
|
|
1507
|
+
res.statusCode = code;
|
|
1490
1508
|
return res;
|
|
1491
1509
|
},
|
|
1492
1510
|
send: (message) => {
|
|
1493
1511
|
responseMessage = message;
|
|
1512
|
+
resEventHandlers["finish"]?.forEach((handler) => handler());
|
|
1494
1513
|
},
|
|
1495
1514
|
json: (body) => {
|
|
1496
1515
|
responseMessage = body;
|
|
1516
|
+
resEventHandlers["finish"]?.forEach((handler) => handler());
|
|
1497
1517
|
},
|
|
1498
1518
|
jsonp: (body) => {
|
|
1499
1519
|
responseMessage = body;
|
|
1520
|
+
resEventHandlers["finish"]?.forEach((handler) => handler());
|
|
1500
1521
|
},
|
|
1501
1522
|
setHeader: (key, value) => {
|
|
1502
1523
|
responseHeaders[key] = value;
|
|
1524
|
+
return res;
|
|
1525
|
+
},
|
|
1526
|
+
getHeader: (key) => responseHeaders[key],
|
|
1527
|
+
type: (contentType) => {
|
|
1528
|
+
responseHeaders["content-type"] = contentType;
|
|
1529
|
+
return res;
|
|
1503
1530
|
},
|
|
1504
1531
|
sseEmitter: (generator) => {
|
|
1505
1532
|
responseMessage = generator();
|
|
1506
1533
|
},
|
|
1534
|
+
on: (event, handler) => {
|
|
1535
|
+
if (!resEventHandlers[event]) {
|
|
1536
|
+
resEventHandlers[event] = [];
|
|
1537
|
+
}
|
|
1538
|
+
resEventHandlers[event].push(handler);
|
|
1539
|
+
return res;
|
|
1540
|
+
},
|
|
1541
|
+
responseSchemas,
|
|
1507
1542
|
version
|
|
1508
1543
|
};
|
|
1509
|
-
|
|
1510
|
-
if (
|
|
1511
|
-
|
|
1512
|
-
|
|
1544
|
+
const executeMiddlewares = request?.executeMiddlewares ?? false;
|
|
1545
|
+
if (executeMiddlewares && middlewares.length > 0) {
|
|
1546
|
+
const allHandlers = [...middlewares];
|
|
1547
|
+
let cursor = allHandlers.shift();
|
|
1548
|
+
if (cursor) {
|
|
1549
|
+
for (const fn of allHandlers) {
|
|
1550
|
+
await cursor(req, res, (err) => {
|
|
1551
|
+
if (err) {
|
|
1552
|
+
throw err;
|
|
1553
|
+
}
|
|
1554
|
+
cursor = fn;
|
|
1555
|
+
});
|
|
1556
|
+
}
|
|
1557
|
+
await cursor(req, res, async (err) => {
|
|
1513
1558
|
if (err) {
|
|
1514
1559
|
throw err;
|
|
1515
1560
|
}
|
|
1516
|
-
cursor = fn;
|
|
1517
1561
|
});
|
|
1518
1562
|
}
|
|
1519
|
-
await cursor(req, res, async (err) => {
|
|
1520
|
-
if (err) {
|
|
1521
|
-
throw err;
|
|
1522
|
-
}
|
|
1523
|
-
});
|
|
1524
1563
|
}
|
|
1525
1564
|
const cHandler = controllerHandler;
|
|
1526
1565
|
await cHandler(req, res, (err) => {
|
|
@@ -1561,7 +1600,8 @@ var ForklaunchExpressLikeRouter = class _ForklaunchExpressLikeRouter {
|
|
|
1561
1600
|
routerOptions: this.routerOptions,
|
|
1562
1601
|
postEnrichMiddleware: this.postEnrichMiddleware,
|
|
1563
1602
|
includeCreateContext: false,
|
|
1564
|
-
handlers
|
|
1603
|
+
handlers,
|
|
1604
|
+
router: this
|
|
1565
1605
|
});
|
|
1566
1606
|
registrationMethod.bind(this.internal)(
|
|
1567
1607
|
path,
|
|
@@ -1576,12 +1616,18 @@ var ForklaunchExpressLikeRouter = class _ForklaunchExpressLikeRouter {
|
|
|
1576
1616
|
this.#localParamRequest(
|
|
1577
1617
|
middlewares,
|
|
1578
1618
|
controllerHandler,
|
|
1619
|
+
contractDetails,
|
|
1620
|
+
requestSchema,
|
|
1621
|
+
responseSchemas,
|
|
1579
1622
|
version
|
|
1580
1623
|
)
|
|
1581
1624
|
])
|
|
1582
1625
|
) : this.#localParamRequest(
|
|
1583
1626
|
middlewares,
|
|
1584
|
-
controllerHandler
|
|
1627
|
+
controllerHandler,
|
|
1628
|
+
contractDetails,
|
|
1629
|
+
requestSchema,
|
|
1630
|
+
responseSchemas
|
|
1585
1631
|
)
|
|
1586
1632
|
};
|
|
1587
1633
|
const contractDetailsName = contractDetails.name;
|
|
@@ -1592,12 +1638,18 @@ var ForklaunchExpressLikeRouter = class _ForklaunchExpressLikeRouter {
|
|
|
1592
1638
|
(req) => this.#localParamRequest(
|
|
1593
1639
|
middlewares,
|
|
1594
1640
|
controllerHandler,
|
|
1641
|
+
contractDetails,
|
|
1642
|
+
requestSchema,
|
|
1643
|
+
responseSchemas,
|
|
1595
1644
|
version
|
|
1596
1645
|
)(`${this.basePath}${path}`, req)
|
|
1597
1646
|
])
|
|
1598
1647
|
) : (req) => this.#localParamRequest(
|
|
1599
1648
|
middlewares,
|
|
1600
|
-
controllerHandler
|
|
1649
|
+
controllerHandler,
|
|
1650
|
+
contractDetails,
|
|
1651
|
+
requestSchema,
|
|
1652
|
+
responseSchemas
|
|
1601
1653
|
)(`${this.basePath}${path}`, req);
|
|
1602
1654
|
}
|
|
1603
1655
|
return this;
|