@webtypen/webframez-core 0.3.42 → 0.3.43
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/Hooks/WebframezHooks.d.ts +2 -0
- package/dist/Router/Router.js +36 -52
- package/package.json +1 -1
|
@@ -15,6 +15,8 @@ export type WebframezOperationContext = {
|
|
|
15
15
|
timestamp: Date;
|
|
16
16
|
attributes?: WebframezHookAttributes;
|
|
17
17
|
error?: unknown;
|
|
18
|
+
request?: unknown;
|
|
19
|
+
response?: unknown;
|
|
18
20
|
};
|
|
19
21
|
export type WebframezLifecycleEvent<TEventName extends WebframezHookEventName = WebframezHookEventName> = {
|
|
20
22
|
type: TEventName;
|
package/dist/Router/Router.js
CHANGED
|
@@ -20,6 +20,18 @@ const querystring_1 = __importDefault(require("querystring"));
|
|
|
20
20
|
const url_1 = __importDefault(require("url"));
|
|
21
21
|
const ErrorHandler_1 = require("../ErrorHandling/ErrorHandler");
|
|
22
22
|
const WebframezHooks_1 = require("../Hooks/WebframezHooks");
|
|
23
|
+
function requestTelemetryAttributes(request) {
|
|
24
|
+
if (!request || !request.url) {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
const target = request.url;
|
|
28
|
+
const path = target.indexOf("?") >= 0 ? target.substring(0, target.indexOf("?")) : target;
|
|
29
|
+
return {
|
|
30
|
+
"url.path": path,
|
|
31
|
+
"http.target": target,
|
|
32
|
+
"webframez.request.path": path,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
23
35
|
class RouterFacade {
|
|
24
36
|
constructor() {
|
|
25
37
|
/**
|
|
@@ -467,11 +479,9 @@ class RouterFacade {
|
|
|
467
479
|
name: `${fallbackRequest.method || "HTTP"} unmatched`,
|
|
468
480
|
status: "error",
|
|
469
481
|
error: e,
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
"webframez.mode": this.mode,
|
|
474
|
-
},
|
|
482
|
+
request: fallbackRequest,
|
|
483
|
+
response,
|
|
484
|
+
attributes: Object.assign(Object.assign({ "http.request.method": fallbackRequest.method || null, "http.response.status_code": statusCode }, requestTelemetryAttributes(fallbackRequest)), { "webframez.mode": this.mode }),
|
|
475
485
|
});
|
|
476
486
|
return errorResult;
|
|
477
487
|
}
|
|
@@ -486,11 +496,9 @@ class RouterFacade {
|
|
|
486
496
|
operationId: httpOperationId,
|
|
487
497
|
name: `${request.method} unmatched`,
|
|
488
498
|
status: "ok",
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
"webframez.mode": this.mode,
|
|
493
|
-
},
|
|
499
|
+
request,
|
|
500
|
+
response,
|
|
501
|
+
attributes: Object.assign(Object.assign({ "http.request.method": request.method, "http.response.status_code": 404 }, requestTelemetryAttributes(request)), { "webframez.mode": this.mode }),
|
|
494
502
|
});
|
|
495
503
|
return notFoundResult;
|
|
496
504
|
}
|
|
@@ -500,13 +508,9 @@ class RouterFacade {
|
|
|
500
508
|
operationId: httpOperationId,
|
|
501
509
|
name: `${request.method} ${route.path}`,
|
|
502
510
|
status: "ok",
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
"url.template": route.path,
|
|
507
|
-
"webframez.route": route.path,
|
|
508
|
-
"webframez.mode": this.mode,
|
|
509
|
-
},
|
|
511
|
+
request,
|
|
512
|
+
response,
|
|
513
|
+
attributes: Object.assign(Object.assign({ "http.request.method": request.method, "http.response.status_code": 404, "url.template": route.path, "webframez.route": route.path }, requestTelemetryAttributes(request)), { "webframez.mode": this.mode }),
|
|
510
514
|
});
|
|
511
515
|
return missingRouteResult;
|
|
512
516
|
}
|
|
@@ -518,13 +522,9 @@ class RouterFacade {
|
|
|
518
522
|
operationId: httpOperationId,
|
|
519
523
|
name: `${request.method} ${route.path}`,
|
|
520
524
|
status: "ok",
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
"url.template": route.path,
|
|
525
|
-
"webframez.route": route.path,
|
|
526
|
-
"webframez.mode": this.mode,
|
|
527
|
-
},
|
|
525
|
+
request,
|
|
526
|
+
response,
|
|
527
|
+
attributes: Object.assign(Object.assign({ "http.request.method": request.method, "http.response.status_code": response.statusCode || 200, "url.template": route.path, "webframez.route": route.path }, requestTelemetryAttributes(request)), { "webframez.mode": this.mode }),
|
|
528
528
|
});
|
|
529
529
|
return optionsResult;
|
|
530
530
|
}
|
|
@@ -565,13 +565,9 @@ class RouterFacade {
|
|
|
565
565
|
operationId: httpOperationId,
|
|
566
566
|
name: `${request.method} ${route.path}`,
|
|
567
567
|
status: "ok",
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
"url.template": route.path,
|
|
572
|
-
"webframez.route": route.path,
|
|
573
|
-
"webframez.mode": this.mode,
|
|
574
|
-
},
|
|
568
|
+
request,
|
|
569
|
+
response,
|
|
570
|
+
attributes: Object.assign(Object.assign({ "http.request.method": request.method, "http.response.status_code": 404, "url.template": route.path, "webframez.route": route.path }, requestTelemetryAttributes(request)), { "webframez.mode": this.mode }),
|
|
575
571
|
});
|
|
576
572
|
return unknownMethodResult;
|
|
577
573
|
}
|
|
@@ -597,13 +593,9 @@ class RouterFacade {
|
|
|
597
593
|
operationId: httpOperationId,
|
|
598
594
|
name: `${request.method} ${route.path}`,
|
|
599
595
|
status: "ok",
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
"url.template": route.path,
|
|
604
|
-
"webframez.route": route.path,
|
|
605
|
-
"webframez.mode": this.mode,
|
|
606
|
-
},
|
|
596
|
+
request,
|
|
597
|
+
response,
|
|
598
|
+
attributes: Object.assign(Object.assign({ "http.request.method": request.method, "http.response.status_code": response.statusCode || 200, "url.template": route.path, "webframez.route": route.path }, requestTelemetryAttributes(request)), { "webframez.mode": this.mode }),
|
|
607
599
|
});
|
|
608
600
|
return returnResult;
|
|
609
601
|
}
|
|
@@ -615,13 +607,9 @@ class RouterFacade {
|
|
|
615
607
|
name: `${request.method} ${route.path}`,
|
|
616
608
|
status: "error",
|
|
617
609
|
error: e.reason || e,
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
"url.template": route.path,
|
|
622
|
-
"webframez.route": route.path,
|
|
623
|
-
"webframez.mode": this.mode,
|
|
624
|
-
},
|
|
610
|
+
request,
|
|
611
|
+
response,
|
|
612
|
+
attributes: Object.assign(Object.assign({ "http.request.method": request.method, "http.response.status_code": 500, "url.template": route.path, "webframez.route": route.path }, requestTelemetryAttributes(request)), { "webframez.mode": this.mode }),
|
|
625
613
|
});
|
|
626
614
|
return middlewareErrorResult;
|
|
627
615
|
}
|
|
@@ -659,13 +647,9 @@ class RouterFacade {
|
|
|
659
647
|
name: `${request.method} ${route.path}`,
|
|
660
648
|
status: "error",
|
|
661
649
|
error: e,
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
"url.template": route.path,
|
|
666
|
-
"webframez.route": route.path,
|
|
667
|
-
"webframez.mode": this.mode,
|
|
668
|
-
},
|
|
650
|
+
request,
|
|
651
|
+
response,
|
|
652
|
+
attributes: Object.assign(Object.assign({ "http.request.method": request.method, "http.response.status_code": 500, "url.template": route.path, "webframez.route": route.path }, requestTelemetryAttributes(request)), { "webframez.mode": this.mode }),
|
|
669
653
|
});
|
|
670
654
|
return errorResult;
|
|
671
655
|
}
|
package/package.json
CHANGED