@beignet/core 0.0.27 → 0.0.29
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/CHANGELOG.md +10 -0
- package/README.md +27 -6
- package/dist/idempotency/index.d.ts +2 -2
- package/dist/idempotency/index.d.ts.map +1 -1
- package/dist/idempotency/index.js +17 -9
- package/dist/idempotency/index.js.map +1 -1
- package/dist/providers/instrumentation.d.ts +13 -0
- package/dist/providers/instrumentation.d.ts.map +1 -1
- package/dist/providers/instrumentation.js.map +1 -1
- package/dist/server/hooks/idempotency.d.ts +8 -6
- package/dist/server/hooks/idempotency.d.ts.map +1 -1
- package/dist/server/hooks/idempotency.js +17 -11
- package/dist/server/hooks/idempotency.js.map +1 -1
- package/dist/server/hooks/rate-limit.d.ts +5 -4
- package/dist/server/hooks/rate-limit.d.ts.map +1 -1
- package/dist/server/hooks/rate-limit.js +5 -4
- package/dist/server/hooks/rate-limit.js.map +1 -1
- package/dist/server/http.d.ts +30 -5
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/instrumentation.d.ts.map +1 -1
- package/dist/server/instrumentation.js +2 -1
- package/dist/server/instrumentation.js.map +1 -1
- package/dist/server/internal-hooks.d.ts +25 -0
- package/dist/server/internal-hooks.d.ts.map +1 -0
- package/dist/server/internal-hooks.js +5 -0
- package/dist/server/internal-hooks.js.map +1 -0
- package/dist/server/server.d.ts +35 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +169 -46
- package/dist/server/server.js.map +1 -1
- package/package.json +1 -1
- package/src/idempotency/index.ts +21 -13
- package/src/providers/instrumentation.ts +13 -0
- package/src/server/hooks/idempotency.ts +28 -10
- package/src/server/hooks/rate-limit.ts +5 -4
- package/src/server/http.ts +31 -5
- package/src/server/index.ts +2 -0
- package/src/server/instrumentation.ts +10 -1
- package/src/server/internal-hooks.ts +49 -0
- package/src/server/server.ts +285 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/server/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACL,KAAK,iCAAiC,EAGvC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQ/E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,4BAA4B,CAAC,GAAG,GAAG,OAAO;IACzD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEjC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,iCAAiC,KACrC,iCAAiC,CAAC;IAEvC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,GAAG,EAAE,eAAe,CAAC;QACrB,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,KAAK,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B,CAAC,GAAG;IAC/C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,kBAAkB,CAAC;IACzD;;OAEG;IACH,wBAAwB,IAAI,kBAAkB,CAAC;IAC/C;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;CAClC;AA2GD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAC7C,OAAO,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,GAC7D,4BAA4B,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/server/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACL,KAAK,iCAAiC,EAGvC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQ/E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,4BAA4B,CAAC,GAAG,GAAG,OAAO;IACzD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEjC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,iCAAiC,KACrC,iCAAiC,CAAC;IAEvC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,GAAG,EAAE,eAAe,CAAC;QACrB,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,KAAK,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B,CAAC,GAAG;IAC/C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,kBAAkB,CAAC;IACzD;;OAEG;IACH,wBAAwB,IAAI,kBAAkB,CAAC;IAC/C;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;CAClC;AA2GD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAC7C,OAAO,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,GAC7D,4BAA4B,CAAC,GAAG,CAAC,CA6OnC"}
|
|
@@ -202,7 +202,7 @@ export function createServerInstrumentation(options) {
|
|
|
202
202
|
},
|
|
203
203
|
};
|
|
204
204
|
},
|
|
205
|
-
afterSend: ({ req, ctx, contract, response, error, durationMs }) => {
|
|
205
|
+
afterSend: ({ req, ctx, contract, response, error, durationMs, stages, }) => {
|
|
206
206
|
try {
|
|
207
207
|
if (!port)
|
|
208
208
|
return;
|
|
@@ -240,6 +240,7 @@ export function createServerInstrumentation(options) {
|
|
|
240
240
|
responseOwner,
|
|
241
241
|
status: response.status,
|
|
242
242
|
durationMs,
|
|
243
|
+
stages,
|
|
243
244
|
details: {
|
|
244
245
|
headers: requestHeadersToRecord(req.headers),
|
|
245
246
|
route: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/server/instrumentation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/server/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAE3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAGL,kCAAkC,GACnC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AA+G9B,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,SAAS,GAAI,GAA+B,CAAC,SAAS,CAAC;IAC7D,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,OAAO,GAAG,GAAyB,CAAC;IAC1C,IACE,CAAC,OAAO,CAAC,OAAO;QAChB,CAAC,OAAO,CAAC,MAAM;QACf,CAAC,OAAO,CAAC,YAAY;QACrB,CAAC,OAAO,CAAC,WAAW,EACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,QAAgB,EAChB,WAA8B;IAE9B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClD,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB;IAC9C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA2C,EAC3C,IAAY;IAEZ,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,UAAU,CAC5C,CAAC;IACF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CACvB,QAA0B;IAE1B,OAAO,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;QACpE,WAAW;QACX,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAiC,EACjC,IAAY;IAEZ,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAA8D;IAE9D,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,CAAC;IAClC,MAAM,eAAe,GACnB,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5D,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,IAAI,cAAc,CAAC;IAC1E,MAAM,kBAAkB,GACtB,eAAe,CAAC,kBAAkB,IAAI,aAAa,CAAC;IACtD,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,CAAC;IAErE,IAAI,IAA6C,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,OAAO,EAAuC,CAAC;IAExE,MAAM,cAAc,GAAG,CAAC,GAAoB,EAAsB,EAAE;QAClE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,eAAe,GACnB,eAAe,KAAK,KAAK;YACvB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,CAAC;QACtD,MAAM,iBAAiB,GACrB,kBAAkB,KAAK,KAAK;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAuB;YACtC,SAAS,EAAE,eAAe,IAAI,eAAe,EAAE;YAC/C,KAAK,EAAE,kBAAkB,CAAC;gBACxB,WAAW,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,WAAW;aAC9D,CAAC;SACH,CAAC;QACF,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACnC,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,IAGzB,EAAU,EAAE,CACX,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;IAEtE,MAAM,mBAAmB,GAAG,CAAC,IAG5B,EAAgB,EAAE;QACjB,MAAM,YAAY,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,KAAwC,EAAE,EAAE;QAC1D,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC;wBACV,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,wCAAwC;wBACjD,KAAK,EAAE,WAAW;wBAClB,OAAO,EAAE;4BACP,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;yBAChC;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,IAG5B,EAAE,EAAE;QACH,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;YAAE,OAAO;QAC9D,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxC,yBAAyB,CAAC;YACxB,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;YACjC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,IAAI,GAA8B;QACtC,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACrB,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;YAC7B,sEAAsE;YACtE,2BAA2B;YAC3B,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;YACrC,IAAI,eAAe,KAAK,KAAK,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;gBAC9D,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAChD,OAAO;gBACL,GAAG,QAAQ;gBACX,OAAO,EAAE;oBACP,GAAG,QAAQ,CAAC,OAAO;oBACnB,GAAG,CAAC,eAAe,KAAK,KAAK;wBAC3B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;oBACrC,GAAG,CAAC,kBAAkB,KAAK,KAAK;wBAC9B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;iBACjD;aACF,CAAC;QACJ,CAAC;QACD,SAAS,EAAE,CAAC,EACV,GAAG,EACH,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,MAAM,GACP,EAAE,EAAE;YACH,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAElB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC;oBAAE,OAAO;gBAE7C,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAChE,MAAM,kBAAkB,GACtB,OAAO,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,oBAAoB,IAAI,CAAC,kBAAkB;oBAAE,OAAO;gBAEzD,IACE,eAAe,CAAC,aAAa;oBAC7B,CAAC,eAAe,CAAC,aAAa,CAAC;wBAC7B,GAAG;wBACH,GAAG,EAAE,GAAsB;wBAC3B,QAAQ;wBACR,QAAQ;wBACR,KAAK;qBACN,CAAC,EACF,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAEjD,IAAI,oBAAoB,EAAE,CAAC;oBACzB,MAAM,CAAC;wBACL,IAAI,EAAE,SAAS;wBACf,SAAS;wBACT,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,IAAI;wBACJ,YAAY,EAAE,QAAQ,CAAC,IAAI;wBAC3B,aAAa;wBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,UAAU;wBACV,MAAM;wBACN,OAAO,EAAE;4BACP,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC;4BAC5C,KAAK,EAAE;gCACL,YAAY,EAAE,QAAQ,CAAC,IAAI;gCAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;gCAClB,IAAI;6BACL;4BACD,QAAQ,EAAE;gCACR,KAAK,EAAE,aAAa;gCACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;6BACxB;4BACD,UAAU,EAAE;gCACV,WAAW;gCACX,cAAc;gCACd,YAAY;gCACZ,WAAW;6BACZ;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,KAAK,IAAI,kBAAkB,EAAE,CAAC;oBAChC,MAAM,CAAC;wBACL,IAAI,EAAE,OAAO;wBACb,SAAS;wBACT,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;wBAC/B,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;wBAC3B,YAAY,EAAE,QAAQ,CAAC,IAAI;wBAC3B,KAAK,EAAE,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;qBAC7D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,yBAAyB,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;KACF,CAAC;IAEF,OAAO;QACL,WAAW,CAAC,KAAK;YACf,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,cAAc;QACd,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/B,SAAS,EAAE,eAAe,EAAE;YAC5B,KAAK,EAAE,kBAAkB,EAAE;SAC5B,CAAC;QACF,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { HttpContractConfig } from "../contracts/index.js";
|
|
2
|
+
import type { HttpRequestLike, HttpResponseLike, MaybePromise } from "./http.js";
|
|
3
|
+
export declare const responseFinalizerHook: unique symbol;
|
|
4
|
+
export type ResponseFinalizerResponseOwner = "route" | "framework" | "transport";
|
|
5
|
+
export type ResponseFinalizerValidationState = "validated" | "disabled" | "not-applicable";
|
|
6
|
+
export type ResponseFinalizerHookArgs<Ctx> = {
|
|
7
|
+
req: HttpRequestLike;
|
|
8
|
+
ctx?: Ctx;
|
|
9
|
+
contract: HttpContractConfig;
|
|
10
|
+
path?: unknown;
|
|
11
|
+
query?: unknown;
|
|
12
|
+
headers?: unknown;
|
|
13
|
+
body?: unknown;
|
|
14
|
+
response: HttpResponseLike;
|
|
15
|
+
error?: unknown;
|
|
16
|
+
native?: boolean;
|
|
17
|
+
owner: ResponseFinalizerResponseOwner;
|
|
18
|
+
responseValidation: ResponseFinalizerValidationState;
|
|
19
|
+
};
|
|
20
|
+
export type ResponseFinalizerHook<Ctx> = (args: ResponseFinalizerHookArgs<Ctx>) => MaybePromise<void>;
|
|
21
|
+
export type ResponseFinalizerServerHook<Ctx> = {
|
|
22
|
+
[responseFinalizerHook]?: ResponseFinalizerHook<Ctx>;
|
|
23
|
+
};
|
|
24
|
+
export declare function getResponseFinalizerHook<Ctx>(hook: unknown): ResponseFinalizerHook<Ctx> | undefined;
|
|
25
|
+
//# sourceMappingURL=internal-hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-hooks.d.ts","sourceRoot":"","sources":["../../src/server/internal-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,qBAAqB,eAEjC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GACtC,OAAO,GACP,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,gCAAgC,GACxC,WAAW,GACX,UAAU,GACV,gBAAgB,CAAC;AAErB,MAAM,MAAM,yBAAyB,CAAC,GAAG,IAAI;IAC3C,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,8BAA8B,CAAC;IACtC,kBAAkB,EAAE,gCAAgC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,GAAG,IAAI,CACvC,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACjC,YAAY,CAAC,IAAI,CAAC,CAAC;AAExB,MAAM,MAAM,2BAA2B,CAAC,GAAG,IAAI;IAC7C,CAAC,qBAAqB,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;CACtD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,GAAG,EAC1C,IAAI,EAAE,OAAO,GACZ,qBAAqB,CAAC,GAAG,CAAC,GAAG,SAAS,CAExC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-hooks.js","sourceRoot":"","sources":["../../src/server/internal-hooks.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CACzC,wCAAwC,CACzC,CAAC;AAmCF,MAAM,UAAU,wBAAwB,CACtC,IAAa;IAEb,OAAQ,IAAyC,CAAC,qBAAqB,CAAC,CAAC;AAC3E,CAAC"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -211,6 +211,26 @@ export type CreateServerOptions<Ctx, Ports extends AnyPorts, ServiceInput = void
|
|
|
211
211
|
interface RouteBuilder<Ctx, C extends HttpContractConfig> {
|
|
212
212
|
handle: (fn: Handler<Ctx, C>) => (req: HttpRequestLike) => Promise<HttpResponse>;
|
|
213
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* Identity and hook metadata for a raw route.
|
|
216
|
+
*
|
|
217
|
+
* Raw routes are mounted by the adapter at their own path, so `method` and
|
|
218
|
+
* `path` describe the route to hooks, instrumentation, and error mapping
|
|
219
|
+
* instead of driving routing. `metadata` feeds metadata-driven hooks exactly
|
|
220
|
+
* like contract metadata does, for example `rateLimit` and `idempotency`.
|
|
221
|
+
*/
|
|
222
|
+
export type RawRouteInit = {
|
|
223
|
+
name: string;
|
|
224
|
+
method: HttpContractConfig["method"];
|
|
225
|
+
path: string;
|
|
226
|
+
metadata?: HttpContractConfig["metadata"];
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* Builder returned by `server.rawRoute(...)`.
|
|
230
|
+
*/
|
|
231
|
+
export interface RawRouteBuilder<Ctx> {
|
|
232
|
+
handle: (fn: Handler<Ctx, HttpContractConfig>) => (req: HttpRequestLike) => Promise<HttpResponse>;
|
|
233
|
+
}
|
|
214
234
|
/**
|
|
215
235
|
* Runtime server object returned by `createServer(...)`.
|
|
216
236
|
*/
|
|
@@ -223,6 +243,21 @@ export interface ServerInstance<Ctx, Ports extends AnyPorts = AnyPorts, ServiceI
|
|
|
223
243
|
* Register and build a single route handler imperatively.
|
|
224
244
|
*/
|
|
225
245
|
route: <CLike extends ContractLike>(contractLike: CLike) => RouteBuilder<Ctx, ResolveContract<CLike>>;
|
|
246
|
+
/**
|
|
247
|
+
* Build a handler for a route that cannot be a contract — webhooks,
|
|
248
|
+
* third-party auth callbacks, streaming endpoints — that still runs the
|
|
249
|
+
* whole server pipeline: correlation, `onRequest`, route hooks,
|
|
250
|
+
* `beforeHandle`, `beforeSend`, `afterSend`, context creation,
|
|
251
|
+
* instrumentation, and framework error mapping.
|
|
252
|
+
*
|
|
253
|
+
* Request parsing and validation are skipped and the request body is left
|
|
254
|
+
* unconsumed, so the handler owns body reading — for example webhook
|
|
255
|
+
* signature verification over the exact raw bytes. Metadata-driven hooks
|
|
256
|
+
* such as rate limiting and idempotency read `init.metadata`. Raw routes
|
|
257
|
+
* are not added to the route registry; mount the returned handler at the
|
|
258
|
+
* route's own path.
|
|
259
|
+
*/
|
|
260
|
+
rawRoute: (init: RawRouteInit) => RawRouteBuilder<Ctx>;
|
|
226
261
|
/**
|
|
227
262
|
* Build a fully assembled request context from a framework-neutral request.
|
|
228
263
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAIL,KAAK,kBAAkB,EAIxB,MAAM,uBAAuB,CAAC;AAiB/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQlD,OAAO,KAAK,EACV,kBAAkB,EAElB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAEV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,KAAK,EACV,iBAAiB,EACjB,OAAO,EAEP,eAAe,EACf,YAAY,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server/server.js
CHANGED
|
@@ -7,6 +7,7 @@ import { createContextFinalizer, resolveServerContext } from "./context.js";
|
|
|
7
7
|
import { resolveContract } from "./contract-like.js";
|
|
8
8
|
import { getRequestIdFromContext } from "./hooks/utils.js";
|
|
9
9
|
import { createServerInstrumentation } from "./instrumentation.js";
|
|
10
|
+
import { getResponseFinalizerHook, } from "./internal-hooks.js";
|
|
10
11
|
import { loadProviderConfig, parseStandardSchema, SchemaValidationError, } from "./providers/index.js";
|
|
11
12
|
import { enterActiveRequestContext, readContextActor, readContextTenant, runWithActiveRequestContext, setActiveRequestIdentity, } from "./request-context.js";
|
|
12
13
|
import { createUseCaseRouteHandler, isUseCaseRouteDef, } from "./use-case-route.js";
|
|
@@ -492,6 +493,25 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
492
493
|
let headersValue;
|
|
493
494
|
let bodyValue;
|
|
494
495
|
const startedAt = Date.now();
|
|
496
|
+
// Stage timings accumulate because retries re-enter the send phase and
|
|
497
|
+
// beforeHandle spans the route-hook and server-hook loops.
|
|
498
|
+
const stages = {
|
|
499
|
+
onRequestMs: 0,
|
|
500
|
+
parseMs: 0,
|
|
501
|
+
contextMs: 0,
|
|
502
|
+
beforeHandleMs: 0,
|
|
503
|
+
handlerMs: 0,
|
|
504
|
+
sendMs: 0,
|
|
505
|
+
};
|
|
506
|
+
const timeStage = async (stage, run) => {
|
|
507
|
+
const stageStartedAt = performance.now();
|
|
508
|
+
try {
|
|
509
|
+
return await run();
|
|
510
|
+
}
|
|
511
|
+
finally {
|
|
512
|
+
stages[stage] += performance.now() - stageStartedAt;
|
|
513
|
+
}
|
|
514
|
+
};
|
|
495
515
|
const resolveErrorResult = async (error, ctx, path, query, headers, body, resultOptions) => {
|
|
496
516
|
let currentError = error;
|
|
497
517
|
const notifyCaughtError = async (caught) => {
|
|
@@ -761,7 +781,46 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
761
781
|
return applyTransformHooks(mapped, false);
|
|
762
782
|
}
|
|
763
783
|
};
|
|
784
|
+
const applyResponseFinalizerHooks = async (initialResult, allowRetry, responseValidation) => {
|
|
785
|
+
const response = normalizeHttpResponse(initialResult.response);
|
|
786
|
+
const native = isWebResponse(response);
|
|
787
|
+
const owner = responseOwnerFor(response, initialResult.owner);
|
|
788
|
+
try {
|
|
789
|
+
for (const hook of hooks) {
|
|
790
|
+
const finalizer = getResponseFinalizerHook(hook);
|
|
791
|
+
if (!finalizer)
|
|
792
|
+
continue;
|
|
793
|
+
await finalizer({
|
|
794
|
+
req,
|
|
795
|
+
ctx: initialResult.ctx,
|
|
796
|
+
contract,
|
|
797
|
+
path: pathValue,
|
|
798
|
+
query: queryValue,
|
|
799
|
+
headers: headersValue,
|
|
800
|
+
body: bodyValue,
|
|
801
|
+
response: responseForHooks(response),
|
|
802
|
+
error: initialResult.error,
|
|
803
|
+
native: native ? true : undefined,
|
|
804
|
+
owner,
|
|
805
|
+
responseValidation,
|
|
806
|
+
});
|
|
807
|
+
}
|
|
808
|
+
return {
|
|
809
|
+
...initialResult,
|
|
810
|
+
response,
|
|
811
|
+
};
|
|
812
|
+
}
|
|
813
|
+
catch (error) {
|
|
814
|
+
const mapped = await resolveErrorResult(error, initialResult.ctx, pathValue, queryValue, headersValue, bodyValue, { owner: "framework" });
|
|
815
|
+
if (!allowRetry) {
|
|
816
|
+
return mapped;
|
|
817
|
+
}
|
|
818
|
+
const transformed = await applyTransformHooks(mapped, true);
|
|
819
|
+
return applyResponseFinalizerHooks(transformed, false, "not-applicable");
|
|
820
|
+
}
|
|
821
|
+
};
|
|
764
822
|
let result;
|
|
823
|
+
const onRequestStartedAt = performance.now();
|
|
765
824
|
for (const hook of hooks) {
|
|
766
825
|
if (!hook.onRequest)
|
|
767
826
|
continue;
|
|
@@ -786,11 +845,12 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
786
845
|
break;
|
|
787
846
|
}
|
|
788
847
|
}
|
|
848
|
+
stages.onRequestMs = performance.now() - onRequestStartedAt;
|
|
789
849
|
if (!result) {
|
|
790
850
|
if (optionsOverrides?.skipRoutePreparation) {
|
|
791
851
|
let createdCtx;
|
|
792
852
|
try {
|
|
793
|
-
createdCtx = await contextRuntime.createRequestContext(req, contract);
|
|
853
|
+
createdCtx = await timeStage("contextMs", () => contextRuntime.createRequestContext(req, contract));
|
|
794
854
|
baseCtx = createdCtx;
|
|
795
855
|
}
|
|
796
856
|
catch (error) {
|
|
@@ -800,7 +860,7 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
800
860
|
try {
|
|
801
861
|
result = {
|
|
802
862
|
ctx: createdCtx,
|
|
803
|
-
response: normalizeHttpResponse(await userHandler({
|
|
863
|
+
response: normalizeHttpResponse(await timeStage("handlerMs", () => userHandler({
|
|
804
864
|
req,
|
|
805
865
|
ctx: createdCtx,
|
|
806
866
|
contract,
|
|
@@ -808,7 +868,7 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
808
868
|
query: {},
|
|
809
869
|
headers: rawHeaders,
|
|
810
870
|
body: undefined,
|
|
811
|
-
})),
|
|
871
|
+
}))),
|
|
812
872
|
owner: "framework",
|
|
813
873
|
};
|
|
814
874
|
}
|
|
@@ -818,6 +878,7 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
818
878
|
}
|
|
819
879
|
}
|
|
820
880
|
else {
|
|
881
|
+
const parseStartedAt = performance.now();
|
|
821
882
|
const rawQuery = {};
|
|
822
883
|
for (const key of new Set(url.searchParams.keys())) {
|
|
823
884
|
const values = url.searchParams.getAll(key);
|
|
@@ -865,7 +926,9 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
865
926
|
}
|
|
866
927
|
// biome-ignore lint/suspicious/noExplicitAny: Type will be narrowed by schema validation
|
|
867
928
|
let body;
|
|
868
|
-
|
|
929
|
+
// Raw routes own body consumption: the handler reads `req` itself,
|
|
930
|
+
// for example to verify a webhook signature over the exact bytes.
|
|
931
|
+
if (!result && !optionsOverrides?.rawRoute) {
|
|
869
932
|
try {
|
|
870
933
|
body = await parseBody(req, maxRequestBodyBytes);
|
|
871
934
|
}
|
|
@@ -904,6 +967,7 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
904
967
|
}
|
|
905
968
|
}
|
|
906
969
|
}
|
|
970
|
+
stages.parseMs = performance.now() - parseStartedAt;
|
|
907
971
|
if (!result) {
|
|
908
972
|
pathValue = path;
|
|
909
973
|
queryValue = query;
|
|
@@ -911,7 +975,7 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
911
975
|
bodyValue = body;
|
|
912
976
|
let createdCtx;
|
|
913
977
|
try {
|
|
914
|
-
createdCtx = await contextRuntime.createRequestContext(req, contract);
|
|
978
|
+
createdCtx = await timeStage("contextMs", () => contextRuntime.createRequestContext(req, contract));
|
|
915
979
|
baseCtx = createdCtx;
|
|
916
980
|
}
|
|
917
981
|
catch (error) {
|
|
@@ -928,11 +992,10 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
928
992
|
body,
|
|
929
993
|
};
|
|
930
994
|
let currentCtx = createdCtx;
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
continue;
|
|
995
|
+
const beforeHandleStartedAt = performance.now();
|
|
996
|
+
for (const hook of routeHooks) {
|
|
934
997
|
try {
|
|
935
|
-
const
|
|
998
|
+
const additions = await hook.resolve({
|
|
936
999
|
req,
|
|
937
1000
|
ctx: currentCtx,
|
|
938
1001
|
contract,
|
|
@@ -941,33 +1004,11 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
941
1004
|
headers,
|
|
942
1005
|
body,
|
|
943
1006
|
});
|
|
944
|
-
if (
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
};
|
|
950
|
-
break;
|
|
951
|
-
}
|
|
952
|
-
if (isHttpResponseLike(hookResult)) {
|
|
953
|
-
result = {
|
|
954
|
-
ctx: currentCtx,
|
|
955
|
-
response: normalizeResponse(hookResult),
|
|
956
|
-
owner: "framework",
|
|
957
|
-
};
|
|
958
|
-
break;
|
|
959
|
-
}
|
|
960
|
-
if (hookResult?.ctx !== undefined) {
|
|
961
|
-
currentCtx = contextRuntime.finalizeContext(hookResult.ctx);
|
|
962
|
-
}
|
|
963
|
-
if (hookResult?.response) {
|
|
964
|
-
const response = normalizeHttpResponse(hookResult.response);
|
|
965
|
-
result = {
|
|
966
|
-
ctx: currentCtx,
|
|
967
|
-
response,
|
|
968
|
-
owner: responseOwnerFor(response, "framework"),
|
|
969
|
-
};
|
|
970
|
-
break;
|
|
1007
|
+
if (additions && typeof additions === "object") {
|
|
1008
|
+
currentCtx = contextRuntime.finalizeContext({
|
|
1009
|
+
...currentCtx,
|
|
1010
|
+
...additions,
|
|
1011
|
+
});
|
|
971
1012
|
}
|
|
972
1013
|
}
|
|
973
1014
|
catch (error) {
|
|
@@ -976,9 +1017,11 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
976
1017
|
}
|
|
977
1018
|
}
|
|
978
1019
|
if (!result) {
|
|
979
|
-
for (const hook of
|
|
1020
|
+
for (const hook of hooks) {
|
|
1021
|
+
if (!hook.beforeHandle)
|
|
1022
|
+
continue;
|
|
980
1023
|
try {
|
|
981
|
-
const
|
|
1024
|
+
const hookResult = await hook.beforeHandle({
|
|
982
1025
|
req,
|
|
983
1026
|
ctx: currentCtx,
|
|
984
1027
|
contract,
|
|
@@ -987,11 +1030,33 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
987
1030
|
headers,
|
|
988
1031
|
body,
|
|
989
1032
|
});
|
|
990
|
-
if (
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
1033
|
+
if (isWebResponse(hookResult)) {
|
|
1034
|
+
result = {
|
|
1035
|
+
ctx: currentCtx,
|
|
1036
|
+
response: hookResult,
|
|
1037
|
+
owner: "transport",
|
|
1038
|
+
};
|
|
1039
|
+
break;
|
|
1040
|
+
}
|
|
1041
|
+
if (isHttpResponseLike(hookResult)) {
|
|
1042
|
+
result = {
|
|
1043
|
+
ctx: currentCtx,
|
|
1044
|
+
response: normalizeResponse(hookResult),
|
|
1045
|
+
owner: "framework",
|
|
1046
|
+
};
|
|
1047
|
+
break;
|
|
1048
|
+
}
|
|
1049
|
+
if (hookResult?.ctx !== undefined) {
|
|
1050
|
+
currentCtx = contextRuntime.finalizeContext(hookResult.ctx);
|
|
1051
|
+
}
|
|
1052
|
+
if (hookResult?.response) {
|
|
1053
|
+
const response = normalizeHttpResponse(hookResult.response);
|
|
1054
|
+
result = {
|
|
1055
|
+
ctx: currentCtx,
|
|
1056
|
+
response,
|
|
1057
|
+
owner: responseOwnerFor(response, "framework"),
|
|
1058
|
+
};
|
|
1059
|
+
break;
|
|
995
1060
|
}
|
|
996
1061
|
}
|
|
997
1062
|
catch (error) {
|
|
@@ -1000,6 +1065,7 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
1000
1065
|
}
|
|
1001
1066
|
}
|
|
1002
1067
|
}
|
|
1068
|
+
stages.beforeHandleMs = performance.now() - beforeHandleStartedAt;
|
|
1003
1069
|
if (!result) {
|
|
1004
1070
|
// Hooks may have elevated the actor or resolved a tenant.
|
|
1005
1071
|
// Refresh the ambient request context so record-time
|
|
@@ -1012,7 +1078,7 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
1012
1078
|
try {
|
|
1013
1079
|
result = {
|
|
1014
1080
|
ctx: currentCtx,
|
|
1015
|
-
response: normalizeHttpResponse(await userHandler({ ...baseArgs, ctx: currentCtx })),
|
|
1081
|
+
response: normalizeHttpResponse(await timeStage("handlerMs", () => userHandler({ ...baseArgs, ctx: currentCtx }))),
|
|
1016
1082
|
};
|
|
1017
1083
|
}
|
|
1018
1084
|
catch (error) {
|
|
@@ -1023,37 +1089,60 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
1023
1089
|
}
|
|
1024
1090
|
}
|
|
1025
1091
|
}
|
|
1092
|
+
const sendStartedAt = performance.now();
|
|
1026
1093
|
result = await applyTransformHooks(result, true);
|
|
1027
1094
|
let finalResponse = normalizeHttpResponse(result.response);
|
|
1028
1095
|
let finalError = result.error;
|
|
1029
1096
|
let finalOwner = responseOwnerFor(finalResponse, result.owner);
|
|
1097
|
+
let responseValidation = "not-applicable";
|
|
1030
1098
|
if (finalOwner === "route" &&
|
|
1099
|
+
!isWebResponse(finalResponse) &&
|
|
1100
|
+
!(options.validateResponses ?? true)) {
|
|
1101
|
+
responseValidation = "disabled";
|
|
1102
|
+
}
|
|
1103
|
+
else if (finalOwner === "route" &&
|
|
1031
1104
|
!isWebResponse(finalResponse) &&
|
|
1032
1105
|
(options.validateResponses ?? true)) {
|
|
1033
1106
|
try {
|
|
1034
1107
|
finalResponse = await finalizeResponse(contract, finalResponse, target.responseValidationExemptStatus);
|
|
1108
|
+
result = {
|
|
1109
|
+
...result,
|
|
1110
|
+
response: finalResponse,
|
|
1111
|
+
};
|
|
1112
|
+
responseValidation = "validated";
|
|
1035
1113
|
}
|
|
1036
1114
|
catch (error) {
|
|
1037
1115
|
if (error instanceof ResponseContractViolationError) {
|
|
1038
|
-
result =
|
|
1116
|
+
result = {
|
|
1039
1117
|
ctx: result.ctx,
|
|
1040
1118
|
response: toContractViolationResponse(error),
|
|
1041
1119
|
error,
|
|
1042
1120
|
owner: "framework",
|
|
1043
|
-
}
|
|
1121
|
+
};
|
|
1044
1122
|
finalResponse = normalizeHttpResponse(result.response);
|
|
1045
1123
|
finalError = result.error;
|
|
1046
1124
|
finalOwner = responseOwnerFor(finalResponse, result.owner);
|
|
1125
|
+
result = await applyTransformHooks(result, true);
|
|
1126
|
+
finalResponse = normalizeHttpResponse(result.response);
|
|
1127
|
+
finalError = result.error;
|
|
1128
|
+
finalOwner = responseOwnerFor(finalResponse, result.owner);
|
|
1129
|
+
responseValidation = "not-applicable";
|
|
1047
1130
|
}
|
|
1048
1131
|
else {
|
|
1049
1132
|
throw error;
|
|
1050
1133
|
}
|
|
1051
1134
|
}
|
|
1052
1135
|
}
|
|
1136
|
+
result = await applyResponseFinalizerHooks(result, true, responseValidation);
|
|
1137
|
+
finalResponse = normalizeHttpResponse(result.response);
|
|
1138
|
+
finalError = result.error;
|
|
1139
|
+
finalOwner = responseOwnerFor(finalResponse, result.owner);
|
|
1053
1140
|
if (!isWebResponse(finalResponse)) {
|
|
1054
1141
|
finalResponse = withFrameworkErrorOwnerHeader(finalResponse, finalOwner);
|
|
1055
1142
|
}
|
|
1143
|
+
stages.sendMs = performance.now() - sendStartedAt;
|
|
1056
1144
|
const durationMs = Date.now() - startedAt;
|
|
1145
|
+
const stageTimings = roundStageTimings(stages);
|
|
1057
1146
|
for (const hook of hooks) {
|
|
1058
1147
|
if (!hook.afterSend)
|
|
1059
1148
|
continue;
|
|
@@ -1069,6 +1158,7 @@ options, finalPorts, contextRuntime, hooks, routeHooks = [], optionsOverrides) {
|
|
|
1069
1158
|
response: responseForHooks(finalResponse),
|
|
1070
1159
|
error: finalError,
|
|
1071
1160
|
durationMs,
|
|
1161
|
+
stages: stageTimings,
|
|
1072
1162
|
});
|
|
1073
1163
|
}
|
|
1074
1164
|
catch {
|
|
@@ -1444,6 +1534,15 @@ export async function createServer(options) {
|
|
|
1444
1534
|
const contract = resolveContract(contractLike);
|
|
1445
1535
|
return createBuilder(contract, true);
|
|
1446
1536
|
},
|
|
1537
|
+
rawRoute: (init) => ({
|
|
1538
|
+
handle: (fn) => {
|
|
1539
|
+
const built = buildHandler(options, finalPorts, contextRuntime, rawRouteContract(init), fn, hooks, [], { rawRoute: true });
|
|
1540
|
+
// The adapter owns routing for raw routes — the handler is mounted
|
|
1541
|
+
// at its own path — so path/method matching is skipped and
|
|
1542
|
+
// `init.path` stays identity for hooks and instrumentation.
|
|
1543
|
+
return (req) => built(req, {});
|
|
1544
|
+
},
|
|
1545
|
+
}),
|
|
1447
1546
|
createRequestContext: (req) => createRequestContext(req),
|
|
1448
1547
|
createServiceContext,
|
|
1449
1548
|
runServiceContext,
|
|
@@ -1452,6 +1551,30 @@ export async function createServer(options) {
|
|
|
1452
1551
|
ports: finalPorts,
|
|
1453
1552
|
};
|
|
1454
1553
|
}
|
|
1554
|
+
function roundStageTimings(stages) {
|
|
1555
|
+
const round = (value) => Math.round(value * 100) / 100;
|
|
1556
|
+
return {
|
|
1557
|
+
onRequestMs: round(stages.onRequestMs),
|
|
1558
|
+
parseMs: round(stages.parseMs),
|
|
1559
|
+
contextMs: round(stages.contextMs),
|
|
1560
|
+
beforeHandleMs: round(stages.beforeHandleMs),
|
|
1561
|
+
handlerMs: round(stages.handlerMs),
|
|
1562
|
+
sendMs: round(stages.sendMs),
|
|
1563
|
+
};
|
|
1564
|
+
}
|
|
1565
|
+
function rawRouteContract(init) {
|
|
1566
|
+
return {
|
|
1567
|
+
kind: "http",
|
|
1568
|
+
name: init.name,
|
|
1569
|
+
method: init.method,
|
|
1570
|
+
path: init.path,
|
|
1571
|
+
pathParams: null,
|
|
1572
|
+
query: null,
|
|
1573
|
+
body: null,
|
|
1574
|
+
responses: {},
|
|
1575
|
+
metadata: init.metadata ?? {},
|
|
1576
|
+
};
|
|
1577
|
+
}
|
|
1455
1578
|
export function defineRoutes(routes) {
|
|
1456
1579
|
const flattened = [];
|
|
1457
1580
|
for (const route of routes) {
|