NestJS - Validate Headers

오픈소스·2024년 4월 15일
0

https://github.com/nestjs/nest/issues/279

https://github.com/nestjs/nest/issues/356

https://github.com/nestjs/nest/issues/4798

import { createParamDecorator, ExecutionContext } from '@nestjs/common';
import { plainToInstance } from 'class-transformer';
import { validateOrReject } from 'class-validator';

export const RequestHeader = createParamDecorator(async (value: any, ctx: ExecutionContext) => {
    // extract headers
    const headers = ctx.switchToHttp().getRequest().headers;

    // Convert headers to DTO object
    const dto = plainToInstance(value, headers);

    // Validate
    await validateOrReject(dto);

    // return header dto object
    return dto;
});

참고)

0개의 댓글