@nestjs/platform-express 11.1.2 → 11.1.4

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.
@@ -3,6 +3,7 @@ import { VersionValue } from '@nestjs/common/interfaces';
3
3
  import { CorsOptions, CorsOptionsDelegate } from '@nestjs/common/interfaces/external/cors-options.interface';
4
4
  import { NestApplicationOptions } from '@nestjs/common/interfaces/nest-application-options.interface';
5
5
  import { AbstractHttpAdapter } from '@nestjs/core/adapters/http-adapter';
6
+ import * as express from 'express';
6
7
  import type { Server } from 'http';
7
8
  import * as http from 'http';
8
9
  import * as https from 'https';
@@ -17,7 +18,11 @@ export declare class ExpressAdapter extends AbstractHttpAdapter<http.Server | ht
17
18
  private readonly routerMethodFactory;
18
19
  private readonly logger;
19
20
  private readonly openConnections;
21
+ private onRequestHook?;
22
+ private onResponseHook?;
20
23
  constructor(instance?: any);
24
+ setOnRequestHook(onRequestHook: (req: express.Request, res: express.Response, done: () => void) => Promise<void> | void): void;
25
+ setOnResponseHook(onResponseHook: (req: express.Request, res: express.Response) => Promise<void> | void): void;
21
26
  reply(response: any, body: any, statusCode?: number): any;
22
27
  status(response: any, statusCode: number): any;
23
28
  end(response: any, message?: string): any;
@@ -21,6 +21,25 @@ class ExpressAdapter extends http_adapter_1.AbstractHttpAdapter {
21
21
  this.routerMethodFactory = new router_method_factory_1.RouterMethodFactory();
22
22
  this.logger = new common_1.Logger(ExpressAdapter.name);
23
23
  this.openConnections = new Set();
24
+ this.instance.use((req, res, next) => {
25
+ if (this.onResponseHook) {
26
+ res.on('finish', () => {
27
+ void this.onResponseHook.apply(this, [req, res]);
28
+ });
29
+ }
30
+ if (this.onRequestHook) {
31
+ void this.onRequestHook.apply(this, [req, res, next]);
32
+ }
33
+ else {
34
+ next();
35
+ }
36
+ });
37
+ }
38
+ setOnRequestHook(onRequestHook) {
39
+ this.onRequestHook = onRequestHook;
40
+ }
41
+ setOnResponseHook(onResponseHook) {
42
+ this.onResponseHook = onResponseHook;
24
43
  }
25
44
  reply(response, body, statusCode) {
26
45
  if (statusCode) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestjs/platform-express",
3
- "version": "11.1.2",
3
+ "version": "11.1.4",
4
4
  "description": "Nest - modern, fast, powerful node.js web framework (@platform-express)",
5
5
  "author": "Kamil Mysliwiec",
6
6
  "license": "MIT",
@@ -20,13 +20,13 @@
20
20
  "dependencies": {
21
21
  "cors": "2.8.5",
22
22
  "express": "5.1.0",
23
- "multer": "2.0.0",
23
+ "multer": "2.0.1",
24
24
  "path-to-regexp": "8.2.0",
25
25
  "tslib": "2.8.1"
26
26
  },
27
27
  "devDependencies": {
28
- "@nestjs/common": "11.1.2",
29
- "@nestjs/core": "11.1.2"
28
+ "@nestjs/common": "11.1.4",
29
+ "@nestjs/core": "11.1.4"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@nestjs/common": "^11.0.0",