import { MiddlewareConsumer, Module, RequestMethod } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { ConfigModule } from '@nestjs/config'; import { DatabaseModule } from './modules/database-module/database.module'; import { CspMiddleware } from './middleware/csp-middleware/csp.middleware'; import { SecurityHeadersMiddleware } from './middleware/security-middleware/security.middleware'; import { HttpsRedirectMiddleware } from './middleware/https-middlware/https-redirect.middleware'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, }), DatabaseModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule { configure(consumer: MiddlewareConsumer) { consumer // TODO: Redirect via Reverse Proxy all HTTP requests to HTTPS .apply(CspMiddleware, SecurityHeadersMiddleware, HttpsRedirectMiddleware) .forRoutes({ path: '*', method: RequestMethod.ALL }); } }