universo-platform-3d

Форк
0
50 строк · 1.5 Кб
1
import {
2
  Controller,
3
  Get,
4
  InternalServerErrorException,
5
  Param,
6
  Post,
7
  UnauthorizedException,
8
  UsePipes,
9
  ValidationPipe
10
} from '@nestjs/common'
11
import { NODE_ENV } from './util/node-env.enum'
12
import { ApiParam } from '@nestjs/swagger'
13
@UsePipes(new ValidationPipe({ whitelist: true }))
14
@Controller()
15
export class AppController {
16
  @Get()
17
  getHello(): string {
18
    const version: string = require('../package.json').version
19
    return `The Mirror v${version}`
20
  }
21

22
  @Get('util/version')
23
  getHealth(): string {
24
    const version = require('../package.json').version
25
    return version
26
  }
27

28
  @Post('util/intentional-error-3823937293729373923732949581/:delay') // random string to "hide" the route on dev/staging
29
  @ApiParam({ name: 'delay', required: false })
30
  async throwIntentionalError(@Param('delay') delay = 2000) {
31
    if (Number.isNaN(Number(delay))) {
32
      delay = 2000
33
    }
34
    await new Promise((resolve) => setTimeout(resolve, Number(delay)))
35
    if (process.env.NODE_ENV !== NODE_ENV.PRODUCTION) {
36
      throw new InternalServerErrorException('TEST internal server error')
37
    }
38
    return new UnauthorizedException() // will only return this on prod
39
  }
40

41
  @Post('util/non-responsive-endpoint-9436339442720594681156236885') // random string to "hide" the route
42
  async nonResponsiveEndpoint() {
43
    if (process.env.NODE_ENV !== NODE_ENV.PRODUCTION) {
44
      const delay = 3601000
45
      await new Promise((resolve) => setTimeout(resolve, delay))
46
      return
47
    }
48
    return new UnauthorizedException() // will only return this on prod
49
  }
50
}
51

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.