Server.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { Configuration, Inject } from '@tsed/di';
  2. import { PlatformApplication } from '@tsed/common';
  3. import '@tsed/platform-express'; // /!\ keep this import
  4. import bodyParser from 'body-parser';
  5. import compress from 'compression';
  6. import cookieParser from 'cookie-parser';
  7. import methodOverride from 'method-override';
  8. import '@tsed/swagger';
  9. export const rootDir = __dirname;
  10. @Configuration({
  11. rootDir,
  12. acceptMimes: ['application/json'],
  13. httpPort: process.env.PORT || 8080,
  14. httpsPort: false, // CHANGE
  15. mount: {
  16. '/': [
  17. `${rootDir}/controllers/*.ts`,
  18. `${rootDir}/middlewares/*.ts`,
  19. ],
  20. },
  21. swagger: [
  22. {
  23. path: '/docs',
  24. specVersion: '3.0.1',
  25. },
  26. ],
  27. exclude: [
  28. '**/*.spec.ts',
  29. ],
  30. })
  31. export class Server {
  32. @Inject()
  33. app: PlatformApplication;
  34. @Configuration()
  35. settings: Configuration;
  36. $beforeRoutesInit(): void {
  37. this.app
  38. .use(cookieParser())
  39. .use(compress({}))
  40. .use(methodOverride())
  41. .use(bodyParser.json())
  42. .use(bodyParser.urlencoded({
  43. extended: true,
  44. }));
  45. }
  46. }