@lark-apaas/fullstack-nestjs-core 1.1.12-alpha.0 → 1.1.12-alpha.10

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/index.cjs CHANGED
@@ -36,17 +36,15 @@ __export(index_exports, {
36
36
  CsrfTokenMiddleware: () => CsrfTokenMiddleware,
37
37
  DevToolsModule: () => import_nestjs_openapi_devtools2.DevToolsModule,
38
38
  DevToolsV2Module: () => import_nestjs_openapi_devtools2.DevToolsV2Module,
39
- ForwardedHostMiddleware: () => ForwardedHostMiddleware,
40
39
  PlatformModule: () => PlatformModule,
41
40
  UserContextMiddleware: () => UserContextMiddleware,
42
41
  ViewContextMiddleware: () => ViewContextMiddleware,
43
- configureApp: () => configureApp,
44
- forwardedHostExpressMiddleware: () => forwardedHostExpressMiddleware
42
+ configureApp: () => configureApp
45
43
  });
46
44
  module.exports = __toCommonJS(index_exports);
47
45
 
48
46
  // src/modules/platform/module.ts
49
- var import_common10 = require("@nestjs/common");
47
+ var import_common9 = require("@nestjs/common");
50
48
  var import_core2 = require("@nestjs/core");
51
49
  var import_nestjs_common3 = require("@lark-apaas/nestjs-common");
52
50
  var import_config2 = require("@nestjs/config");
@@ -172,6 +170,47 @@ CsrfMiddleware = _ts_decorate2([
172
170
  // src/middlewares/view-context/index.ts
173
171
  var import_common3 = require("@nestjs/common");
174
172
  var import_nestjs_common = require("@lark-apaas/nestjs-common");
173
+
174
+ // src/utils/safe-stringify.ts
175
+ function escapeChar(c) {
176
+ switch (c.charCodeAt(0)) {
177
+ case 60:
178
+ return "\\u003c";
179
+ case 62:
180
+ return "\\u003e";
181
+ case 38:
182
+ return "\\u0026";
183
+ case 61:
184
+ return "\\u003d";
185
+ case 39:
186
+ return "\\u0027";
187
+ case 34:
188
+ return "\\u0022";
189
+ case 123:
190
+ return "\\u007b";
191
+ case 125:
192
+ return "\\u007d";
193
+ case 40:
194
+ return "\\u0028";
195
+ case 41:
196
+ return "\\u0029";
197
+ case 10:
198
+ return "\\n";
199
+ case 8232:
200
+ return "\\u2028";
201
+ case 8233:
202
+ return "\\u2029";
203
+ default:
204
+ return c;
205
+ }
206
+ }
207
+ __name(escapeChar, "escapeChar");
208
+ function safeEscape(s) {
209
+ return s.replace(/[<>&='"{}()\n\u2028\u2029]/g, escapeChar);
210
+ }
211
+ __name(safeEscape, "safeEscape");
212
+
213
+ // src/middlewares/view-context/index.ts
175
214
  function _ts_decorate3(decorators, target, key, desc) {
176
215
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
177
216
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -227,9 +266,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
227
266
  csrfToken: csrfToken ?? "",
228
267
  userId: userId ?? "",
229
268
  appId: appId ?? "",
230
- appName: appInfo?.app_name ?? "",
269
+ appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
231
270
  appAvatar: appInfo?.app_avatar ?? "",
232
- appDescription: appInfo?.app_description ?? "",
271
+ appDescription: safeEscape(appInfo?.app_description ?? ""),
233
272
  tenantId
234
273
  };
235
274
  res.locals = {
@@ -238,9 +277,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
238
277
  userId: userId ?? "",
239
278
  tenantId: tenantId ?? "",
240
279
  appId: appId ?? "",
241
- appName: appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528",
280
+ appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
242
281
  appAvatar: appInfo?.app_avatar ?? "",
243
- appDescription: appInfo?.app_description ?? ""
282
+ appDescription: safeEscape(appInfo?.app_description ?? "")
244
283
  };
245
284
  next();
246
285
  }
@@ -718,50 +757,17 @@ PlatformHttpClientService = _ts_decorate8([
718
757
  _ts_metadata5("design:paramtypes", [])
719
758
  ], PlatformHttpClientService);
720
759
 
721
- // src/middlewares/forwarded-host/index.ts
722
- var import_common9 = require("@nestjs/common");
723
- function _ts_decorate9(decorators, target, key, desc) {
724
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
725
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
726
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
727
- return c > 3 && r && Object.defineProperty(target, key, r), r;
728
- }
729
- __name(_ts_decorate9, "_ts_decorate");
730
- function normalizeForwardedHost(raw) {
731
- if (!raw) return void 0;
732
- const combined = Array.isArray(raw) ? raw.join(",") : raw;
733
- const first = combined.split(",")[0]?.trim();
734
- return first || void 0;
735
- }
736
- __name(normalizeForwardedHost, "normalizeForwardedHost");
737
- function forwardedHostExpressMiddleware(req, _res, next) {
738
- const forwardedHost = normalizeForwardedHost(req.headers["x-forwarded-host"]);
739
- if (forwardedHost) {
740
- req.headers.host = forwardedHost;
741
- }
742
- next();
743
- }
744
- __name(forwardedHostExpressMiddleware, "forwardedHostExpressMiddleware");
745
- var ForwardedHostMiddleware = class {
746
- static {
747
- __name(this, "ForwardedHostMiddleware");
748
- }
749
- use(req, res, next) {
750
- forwardedHostExpressMiddleware(req, res, next);
751
- }
752
- };
753
- ForwardedHostMiddleware = _ts_decorate9([
754
- (0, import_common9.Injectable)()
755
- ], ForwardedHostMiddleware);
760
+ // src/modules/platform/config/feature-switch.ts
761
+ var DISABLE_DATAPASS = process.env.FORCE_FRAMEWORK_DISABLE_DATAPASS === "true";
756
762
 
757
763
  // src/modules/platform/module.ts
758
- function _ts_decorate10(decorators, target, key, desc) {
764
+ function _ts_decorate9(decorators, target, key, desc) {
759
765
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
760
766
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
761
767
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
762
768
  return c > 3 && r && Object.defineProperty(target, key, r), r;
763
769
  }
764
- __name(_ts_decorate10, "_ts_decorate");
770
+ __name(_ts_decorate9, "_ts_decorate");
765
771
  var PLATFORM_MODULE_OPTIONS = /* @__PURE__ */ Symbol("PLATFORM_MODULE_OPTIONS");
766
772
  var PlatformModule = class _PlatformModule {
767
773
  static {
@@ -790,32 +796,35 @@ var PlatformModule = class _PlatformModule {
790
796
  timeout: 5e3,
791
797
  maxRedirects: 5
792
798
  }),
793
- import_nestjs_datapaas.DataPaasModule.forRootAsync({
794
- imports: [
795
- import_config2.ConfigModule,
796
- import_nestjs_logger2.LoggerModule
797
- ],
798
- inject: [
799
- import_config2.ConfigService,
800
- import_nestjs_logger2.AppLogger
801
- ],
802
- useFactory: /* @__PURE__ */ __name(async (...args) => {
803
- const configService = args[0];
804
- const appLogger = args[1];
805
- const drizzleLogger = {
806
- logQuery(query, params) {
807
- appLogger.log?.("SQL Query " + JSON.stringify({
808
- query,
809
- params
810
- }), "Database");
811
- }
812
- };
813
- return {
814
- connectionString: configService.get("app.databaseUrl") ?? "",
815
- logger: drizzleLogger
816
- };
817
- }, "useFactory")
818
- }),
799
+ // 读取环境变量判断是否启用 DataPaasModule
800
+ ...DISABLE_DATAPASS ? [] : [
801
+ import_nestjs_datapaas.DataPaasModule.forRootAsync({
802
+ imports: [
803
+ import_config2.ConfigModule,
804
+ import_nestjs_logger2.LoggerModule
805
+ ],
806
+ inject: [
807
+ import_config2.ConfigService,
808
+ import_nestjs_logger2.AppLogger
809
+ ],
810
+ useFactory: /* @__PURE__ */ __name(async (...args) => {
811
+ const configService = args[0];
812
+ const appLogger = args[1];
813
+ const drizzleLogger = {
814
+ logQuery(query, params) {
815
+ appLogger.log?.("SQL Query " + JSON.stringify({
816
+ query,
817
+ params
818
+ }), "Database");
819
+ }
820
+ };
821
+ return {
822
+ connectionString: configService.get("app.databaseUrl") ?? "",
823
+ logger: drizzleLogger
824
+ };
825
+ }, "useFactory")
826
+ })
827
+ ],
819
828
  import_nestjs_authnpaas.AuthNPaasModule.forRoot(),
820
829
  import_nestjs_trigger.AutomationModule.forRoot()
821
830
  ],
@@ -826,7 +835,7 @@ var PlatformModule = class _PlatformModule {
826
835
  },
827
836
  {
828
837
  provide: import_core2.APP_PIPE,
829
- useValue: new import_common10.ValidationPipe({
838
+ useValue: new import_common9.ValidationPipe({
830
839
  transform: true,
831
840
  transformOptions: {
832
841
  enableImplicitConversion: true
@@ -865,7 +874,7 @@ var PlatformModule = class _PlatformModule {
865
874
  if (process.env.NODE_ENV === "development") {
866
875
  consumer.apply(FrameworkDebugMiddleware).forRoutes("/api/__framework__/debug");
867
876
  }
868
- consumer.apply(ForwardedHostMiddleware, UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_datapaas.SqlExecutionContextMiddleware).forRoutes("/*");
877
+ consumer.apply(UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_datapaas.SqlExecutionContextMiddleware).forRoutes("/*");
869
878
  consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)").forRoutes("*");
870
879
  if (options.enableCsrf !== false) {
871
880
  const csrfRoutes = options.csrfRoutes || "/api/*";
@@ -879,9 +888,9 @@ var PlatformModule = class _PlatformModule {
879
888
  }
880
889
  }
881
890
  };
882
- PlatformModule = _ts_decorate10([
883
- (0, import_common10.Global)(),
884
- (0, import_common10.Module)({})
891
+ PlatformModule = _ts_decorate9([
892
+ (0, import_common9.Global)(),
893
+ (0, import_common9.Module)({})
885
894
  ], PlatformModule);
886
895
 
887
896
  // src/setup.ts
@@ -895,9 +904,9 @@ async function configureApp(app, perms = defaultPerms) {
895
904
  app.useLogger(app.get(import_nestjs_logger3.AppLogger));
896
905
  app.flushLogs();
897
906
  app.use((0, import_cookie_parser.default)());
898
- app.use(forwardedHostExpressMiddleware);
899
907
  const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
900
908
  app.setGlobalPrefix(globalPrefix);
909
+ app.set("trust proxy", true);
901
910
  if (process.env.NODE_ENV !== "production" && perms.disableSwagger !== true) {
902
911
  try {
903
912
  await import_nestjs_openapi_devtools.DevToolsV2Module.mount(app, {
@@ -924,12 +933,10 @@ __reExport(index_exports, require("@lark-apaas/nestjs-trigger"), module.exports)
924
933
  CsrfTokenMiddleware,
925
934
  DevToolsModule,
926
935
  DevToolsV2Module,
927
- ForwardedHostMiddleware,
928
936
  PlatformModule,
929
937
  UserContextMiddleware,
930
938
  ViewContextMiddleware,
931
939
  configureApp,
932
- forwardedHostExpressMiddleware,
933
940
  ...require("@lark-apaas/nestjs-authnpaas"),
934
941
  ...require("@lark-apaas/nestjs-datapaas"),
935
942
  ...require("@lark-apaas/nestjs-observable"),
package/dist/index.d.cts CHANGED
@@ -117,11 +117,6 @@ declare class ViewContextMiddleware implements NestMiddleware {
117
117
  use(req: Request, res: Response, next: NextFunction): Promise<void>;
118
118
  }
119
119
 
120
- declare function forwardedHostExpressMiddleware(req: Request, _res: Response, next: NextFunction): void;
121
- declare class ForwardedHostMiddleware implements NestMiddleware {
122
- use(req: Request, res: Response, next: NextFunction): void;
123
- }
124
-
125
120
  /**
126
121
  * API 404 响应格式
127
122
  */
@@ -133,4 +128,4 @@ interface ApiNotFoundResponse {
133
128
  timestamp: string;
134
129
  }
135
130
 
136
- export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, ForwardedHostMiddleware, type PlatformHttpClientOptions, PlatformModule, type PlatformModuleOptions, UserContextMiddleware, ViewContextMiddleware, configureApp, forwardedHostExpressMiddleware };
131
+ export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, type PlatformHttpClientOptions, PlatformModule, type PlatformModuleOptions, UserContextMiddleware, ViewContextMiddleware, configureApp };
package/dist/index.d.ts CHANGED
@@ -117,11 +117,6 @@ declare class ViewContextMiddleware implements NestMiddleware {
117
117
  use(req: Request, res: Response, next: NextFunction): Promise<void>;
118
118
  }
119
119
 
120
- declare function forwardedHostExpressMiddleware(req: Request, _res: Response, next: NextFunction): void;
121
- declare class ForwardedHostMiddleware implements NestMiddleware {
122
- use(req: Request, res: Response, next: NextFunction): void;
123
- }
124
-
125
120
  /**
126
121
  * API 404 响应格式
127
122
  */
@@ -133,4 +128,4 @@ interface ApiNotFoundResponse {
133
128
  timestamp: string;
134
129
  }
135
130
 
136
- export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, ForwardedHostMiddleware, type PlatformHttpClientOptions, PlatformModule, type PlatformModuleOptions, UserContextMiddleware, ViewContextMiddleware, configureApp, forwardedHostExpressMiddleware };
131
+ export { type ApiNotFoundResponse, CsrfMiddleware, CsrfTokenMiddleware, type PlatformHttpClientOptions, PlatformModule, type PlatformModuleOptions, UserContextMiddleware, ViewContextMiddleware, configureApp };
package/dist/index.js CHANGED
@@ -128,6 +128,47 @@ CsrfMiddleware = _ts_decorate2([
128
128
  // src/middlewares/view-context/index.ts
129
129
  import { Inject, Injectable as Injectable3, Logger } from "@nestjs/common";
130
130
  import { PLATFORM_HTTP_CLIENT } from "@lark-apaas/nestjs-common";
131
+
132
+ // src/utils/safe-stringify.ts
133
+ function escapeChar(c) {
134
+ switch (c.charCodeAt(0)) {
135
+ case 60:
136
+ return "\\u003c";
137
+ case 62:
138
+ return "\\u003e";
139
+ case 38:
140
+ return "\\u0026";
141
+ case 61:
142
+ return "\\u003d";
143
+ case 39:
144
+ return "\\u0027";
145
+ case 34:
146
+ return "\\u0022";
147
+ case 123:
148
+ return "\\u007b";
149
+ case 125:
150
+ return "\\u007d";
151
+ case 40:
152
+ return "\\u0028";
153
+ case 41:
154
+ return "\\u0029";
155
+ case 10:
156
+ return "\\n";
157
+ case 8232:
158
+ return "\\u2028";
159
+ case 8233:
160
+ return "\\u2029";
161
+ default:
162
+ return c;
163
+ }
164
+ }
165
+ __name(escapeChar, "escapeChar");
166
+ function safeEscape(s) {
167
+ return s.replace(/[<>&='"{}()\n\u2028\u2029]/g, escapeChar);
168
+ }
169
+ __name(safeEscape, "safeEscape");
170
+
171
+ // src/middlewares/view-context/index.ts
131
172
  function _ts_decorate3(decorators, target, key, desc) {
132
173
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
133
174
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -183,9 +224,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
183
224
  csrfToken: csrfToken ?? "",
184
225
  userId: userId ?? "",
185
226
  appId: appId ?? "",
186
- appName: appInfo?.app_name ?? "",
227
+ appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
187
228
  appAvatar: appInfo?.app_avatar ?? "",
188
- appDescription: appInfo?.app_description ?? "",
229
+ appDescription: safeEscape(appInfo?.app_description ?? ""),
189
230
  tenantId
190
231
  };
191
232
  res.locals = {
@@ -194,9 +235,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
194
235
  userId: userId ?? "",
195
236
  tenantId: tenantId ?? "",
196
237
  appId: appId ?? "",
197
- appName: appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528",
238
+ appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
198
239
  appAvatar: appInfo?.app_avatar ?? "",
199
- appDescription: appInfo?.app_description ?? ""
240
+ appDescription: safeEscape(appInfo?.app_description ?? "")
200
241
  };
201
242
  next();
202
243
  }
@@ -674,50 +715,17 @@ PlatformHttpClientService = _ts_decorate8([
674
715
  _ts_metadata5("design:paramtypes", [])
675
716
  ], PlatformHttpClientService);
676
717
 
677
- // src/middlewares/forwarded-host/index.ts
678
- import { Injectable as Injectable9 } from "@nestjs/common";
679
- function _ts_decorate9(decorators, target, key, desc) {
680
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
681
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
682
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
683
- return c > 3 && r && Object.defineProperty(target, key, r), r;
684
- }
685
- __name(_ts_decorate9, "_ts_decorate");
686
- function normalizeForwardedHost(raw) {
687
- if (!raw) return void 0;
688
- const combined = Array.isArray(raw) ? raw.join(",") : raw;
689
- const first = combined.split(",")[0]?.trim();
690
- return first || void 0;
691
- }
692
- __name(normalizeForwardedHost, "normalizeForwardedHost");
693
- function forwardedHostExpressMiddleware(req, _res, next) {
694
- const forwardedHost = normalizeForwardedHost(req.headers["x-forwarded-host"]);
695
- if (forwardedHost) {
696
- req.headers.host = forwardedHost;
697
- }
698
- next();
699
- }
700
- __name(forwardedHostExpressMiddleware, "forwardedHostExpressMiddleware");
701
- var ForwardedHostMiddleware = class {
702
- static {
703
- __name(this, "ForwardedHostMiddleware");
704
- }
705
- use(req, res, next) {
706
- forwardedHostExpressMiddleware(req, res, next);
707
- }
708
- };
709
- ForwardedHostMiddleware = _ts_decorate9([
710
- Injectable9()
711
- ], ForwardedHostMiddleware);
718
+ // src/modules/platform/config/feature-switch.ts
719
+ var DISABLE_DATAPASS = process.env.FORCE_FRAMEWORK_DISABLE_DATAPASS === "true";
712
720
 
713
721
  // src/modules/platform/module.ts
714
- function _ts_decorate10(decorators, target, key, desc) {
722
+ function _ts_decorate9(decorators, target, key, desc) {
715
723
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
716
724
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
717
725
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
718
726
  return c > 3 && r && Object.defineProperty(target, key, r), r;
719
727
  }
720
- __name(_ts_decorate10, "_ts_decorate");
728
+ __name(_ts_decorate9, "_ts_decorate");
721
729
  var PLATFORM_MODULE_OPTIONS = /* @__PURE__ */ Symbol("PLATFORM_MODULE_OPTIONS");
722
730
  var PlatformModule = class _PlatformModule {
723
731
  static {
@@ -746,32 +754,35 @@ var PlatformModule = class _PlatformModule {
746
754
  timeout: 5e3,
747
755
  maxRedirects: 5
748
756
  }),
749
- DataPaasModule.forRootAsync({
750
- imports: [
751
- ConfigModule,
752
- LoggerModule
753
- ],
754
- inject: [
755
- ConfigService,
756
- AppLogger2
757
- ],
758
- useFactory: /* @__PURE__ */ __name(async (...args) => {
759
- const configService = args[0];
760
- const appLogger = args[1];
761
- const drizzleLogger = {
762
- logQuery(query, params) {
763
- appLogger.log?.("SQL Query " + JSON.stringify({
764
- query,
765
- params
766
- }), "Database");
767
- }
768
- };
769
- return {
770
- connectionString: configService.get("app.databaseUrl") ?? "",
771
- logger: drizzleLogger
772
- };
773
- }, "useFactory")
774
- }),
757
+ // 读取环境变量判断是否启用 DataPaasModule
758
+ ...DISABLE_DATAPASS ? [] : [
759
+ DataPaasModule.forRootAsync({
760
+ imports: [
761
+ ConfigModule,
762
+ LoggerModule
763
+ ],
764
+ inject: [
765
+ ConfigService,
766
+ AppLogger2
767
+ ],
768
+ useFactory: /* @__PURE__ */ __name(async (...args) => {
769
+ const configService = args[0];
770
+ const appLogger = args[1];
771
+ const drizzleLogger = {
772
+ logQuery(query, params) {
773
+ appLogger.log?.("SQL Query " + JSON.stringify({
774
+ query,
775
+ params
776
+ }), "Database");
777
+ }
778
+ };
779
+ return {
780
+ connectionString: configService.get("app.databaseUrl") ?? "",
781
+ logger: drizzleLogger
782
+ };
783
+ }, "useFactory")
784
+ })
785
+ ],
775
786
  AuthNPaasModule.forRoot(),
776
787
  AutomationModule.forRoot()
777
788
  ],
@@ -821,7 +832,7 @@ var PlatformModule = class _PlatformModule {
821
832
  if (process.env.NODE_ENV === "development") {
822
833
  consumer.apply(FrameworkDebugMiddleware).forRoutes("/api/__framework__/debug");
823
834
  }
824
- consumer.apply(ForwardedHostMiddleware, UserContextMiddleware, RequestContextMiddleware, LoggerContextMiddleware, SqlExecutionContextMiddleware).forRoutes("/*");
835
+ consumer.apply(UserContextMiddleware, RequestContextMiddleware, LoggerContextMiddleware, SqlExecutionContextMiddleware).forRoutes("/*");
825
836
  consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)").forRoutes("*");
826
837
  if (options.enableCsrf !== false) {
827
838
  const csrfRoutes = options.csrfRoutes || "/api/*";
@@ -835,7 +846,7 @@ var PlatformModule = class _PlatformModule {
835
846
  }
836
847
  }
837
848
  };
838
- PlatformModule = _ts_decorate10([
849
+ PlatformModule = _ts_decorate9([
839
850
  Global(),
840
851
  Module({})
841
852
  ], PlatformModule);
@@ -851,9 +862,9 @@ async function configureApp(app, perms = defaultPerms) {
851
862
  app.useLogger(app.get(AppLogger3));
852
863
  app.flushLogs();
853
864
  app.use(cookieParser());
854
- app.use(forwardedHostExpressMiddleware);
855
865
  const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
856
866
  app.setGlobalPrefix(globalPrefix);
867
+ app.set("trust proxy", true);
857
868
  if (process.env.NODE_ENV !== "production" && perms.disableSwagger !== true) {
858
869
  try {
859
870
  await DevToolsV2Module.mount(app, {
@@ -879,10 +890,8 @@ export {
879
890
  CsrfTokenMiddleware,
880
891
  DevToolsModule,
881
892
  DevToolsV2Module2 as DevToolsV2Module,
882
- ForwardedHostMiddleware,
883
893
  PlatformModule,
884
894
  UserContextMiddleware,
885
895
  ViewContextMiddleware,
886
- configureApp,
887
- forwardedHostExpressMiddleware
896
+ configureApp
888
897
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/fullstack-nestjs-core",
3
- "version": "1.1.12-alpha.0",
3
+ "version": "1.1.12-alpha.10",
4
4
  "description": "FullStack Nestjs Core",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -42,7 +42,7 @@
42
42
  "@lark-apaas/http-client": "0.1.2",
43
43
  "@lark-apaas/nestjs-authnpaas": "^1.0.2",
44
44
  "@lark-apaas/nestjs-common": "^0.1.0",
45
- "@lark-apaas/nestjs-datapaas": "^1.0.6",
45
+ "@lark-apaas/nestjs-datapaas": "^1.0.7",
46
46
  "@lark-apaas/nestjs-logger": "^1.0.4",
47
47
  "@lark-apaas/nestjs-observable": "^0.0.1",
48
48
  "@lark-apaas/nestjs-openapi-devtools": "^1.0.9",
@@ -57,6 +57,7 @@
57
57
  "@nestjs/swagger": "^7.4.2",
58
58
  "@types/cookie-parser": "^1.4.9",
59
59
  "@types/express": "^5.0.3",
60
+ "@types/serialize-javascript": "^5.0.4",
60
61
  "class-transformer": "^0.5.1",
61
62
  "class-validator": "^0.14.2",
62
63
  "drizzle-orm": "0.44.6",