-
Next.js custom decorator만들기FrameWork/Nest.js 2022. 8. 7. 15:15
ExecutionContext(실행Context)
(data: unknown, ctx: ExecutionContext) => { const response = ctx.switchToHttp().getResponse(); return response.locals.jwt; }
실행 context이다. switchToHttp(),switchRpc(),switchToWs()같은 것들이 있는 이유는 Nest.js 프레임워크를 사용할 때 HTTP server만 가능한 것이 아니라 동시에 한 server안에서 웹소켓,Rpc,HTTP server 이 세가지 종류를 동시에 돌릴 수 있다.
그것들을 모두 하나의 실행 context에서 관리를 하고, 하나의 실행 context안에서 만약에 3개가 동시에 돌아가고 있다고 가정한다. 그리고 그 중에서 HTTP에 대해한 정보를 가져오고 싶다고하면, 실행 context인 ctx에서 메서드 switchToHttp()메서드를 사용해서 http server 정보가져와서 거기에 또 메서드 getResponse()를 사용해서 응답 객체를 가져오라고 할 수있다.
ExecutionContext즉 실행context의 접근이 가능하면 실행 context를 부른 함수 안에서 동시에 HTTP에 대한 정보도 가져올 수 있고, 웹소켓에 대한 정보도 가져올 수 있고, Rpc server에 대한 정보도 가져올 수 있다.
HTTP server 와 웹소켓 서버간에 소통을 쉽게 해준다거나 그런 것들을 ExecutionContext객체로 관리를 해줄 수 있다. 그래서 context라는 개념이 존재하는 것이다.
정리
HTTP, WetSocket,Rpc server에 대한 정보를 ctx: ExecutionContext 객체하나로 접근할 수 있다.
'FrameWork > Nest.js' 카테고리의 다른 글
Nest.js Interceptors 사용하기 (0) 2022.08.07 Nest.js 커스텀 Middleware 만들기 (0) 2022.08.04 Multer와 미디어 파일 서비스(img,mp3,mp4) 1 (0) 2022.07.30 Nest.js Intercepters(AOP 패턴) (0) 2022.07.24 Nest.js Pipes(변환, 유효성 검사) (0) 2022.07.11