@uns-kit/api 2.0.43 → 2.0.44

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/app.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  /**
3
2
  * Module dependencies.
4
3
  */
@@ -39,9 +38,9 @@ export default class App {
39
38
  version: string;
40
39
  };
41
40
  paths: Record<string, any>;
42
- servers?: {
41
+ servers?: Array<{
43
42
  url: string;
44
- }[];
43
+ }>;
45
44
  };
46
45
  registerSwaggerDoc(path: string, doc: Record<string, unknown>): void;
47
46
  start(): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { NextFunction, Request, Response } from "express";
2
+ export declare const logRequestContext: (req: Request, _res: Response, next: NextFunction) => void;
@@ -0,0 +1,28 @@
1
+ import jwt from "jsonwebtoken";
2
+ import logger from "@uns-kit/core/logger.js";
3
+ const resolveUser = (req) => {
4
+ const authHeader = req.headers.authorization;
5
+ if (!authHeader || !authHeader.startsWith("Bearer ")) {
6
+ return "Anonymous";
7
+ }
8
+ const token = authHeader.slice(7);
9
+ try {
10
+ const decoded = jwt.decode(token);
11
+ if (decoded?.email && typeof decoded.email === "string") {
12
+ return decoded.email;
13
+ }
14
+ return "Unknown";
15
+ }
16
+ catch {
17
+ return "Unknown";
18
+ }
19
+ };
20
+ export const logRequestContext = (req, _res, next) => {
21
+ logger.info({
22
+ timestamp: new Date().toISOString(),
23
+ user: resolveUser(req),
24
+ endpoint: `${req.method} ${req.originalUrl || req.url}`,
25
+ message: "Request received",
26
+ });
27
+ next();
28
+ };
@@ -44,7 +44,7 @@ export default class UnsApiProxy extends UnsProxy {
44
44
  catchAllRouteRegistered = false;
45
45
  startedAt;
46
46
  statusInterval = null;
47
- statusIntervalMs = 10000;
47
+ statusIntervalMs = 10_000;
48
48
  constructor(processName, instanceName, options) {
49
49
  super();
50
50
  this.options = options;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uns-kit/api",
3
- "version": "2.0.43",
3
+ "version": "2.0.44",
4
4
  "description": "Express-powered API gateway plugin for UnsProxyProcess with JWT/JWKS support.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -35,7 +35,7 @@
35
35
  "cookie-parser": "^1.4.7",
36
36
  "express": "^5.1.0",
37
37
  "multer": "^2.0.2",
38
- "@uns-kit/core": "2.0.43"
38
+ "@uns-kit/core": "2.0.44"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/jsonwebtoken": "^9.0.10",