Search

Execution context (작성중)

개요

Nest는 여러 애플리케이션 컨텍스트 (ex. Nest HTTP 서버 기반, 웹소켓 애플리케이션 컨텍스트)에서 작동하는 애플리케이션을 쉽게 작성할 수 있도록 도와주는 여러 유틸리티 클래스를 제공한다.
이러한 유틸리티는 현재 실행 컨텍스트에 대한 정보를 제공하여 컨트롤러, 메소드 및 실행 컨텍스트에서 작동하는 가드, 필터 및 인터셉터를 빌드하는데 사용한다.

1. ArgumentHost class

ArgumentHost 클래스는 핸들러에 전달되는 인수를 검색하는 메소드를 제공한다. 이 클래스를 사용하면 인수를 검색할 적절한 컨텍스트(ex. HTTP, WebSockets 등)를 선택할 수 있다.
ArgumentHost 의 주된 목적은 예외 처리에 필요한 컨텍스트 정보를 다루기 위함이다.
@Catch() export class GlobalExceptionFilter implements ExceptionFilter { catch(exception: unknown, host: ArgumentsHost) { const ctx = host.switchToHttp(); const response: Response = ctx.getResponse<Response>(); ... } // ArgumentHost 객체의 유틸리티 메서드 중 하나를 사용하여 애플리케이션에 적합한 애플리케이션 컨텍스트로 // 전환하면 코드를 보다 견고하고 재사용성 있게 만들 수 있다. export interface ArgumentHost { switchToRpc(): RpcArgumentsHost; switchToHttp(): HttpArgumentsHost; switchToWs(): WsArgumentsHost; }
TypeScript
복사