HTTP adapter 는 URL 에 GET/POST HTTP 요청을 보내고 전달받은 response 를 처리하는 역할을 한다.
nest application context 안에서나 밖에서 이 HTTP server 에 접근하려면 어떻게 해야 할까?
모든 native HTTP server/library instance 는 adapter 로 감싸져있다.
const app = await NestFactory.create(AppModule);
const httpAdapter = app.getHttpAdapter();
import { HttpAdapterHost } from '@nestjs/core';
export class CatsService {
constructor(private adapterHost: HttpAdapterHost) {}
}
HttpAdapterHost
는 실제 HttpAdapter
는 아니다. 실제 HttpAdapter instance 는 httpAdapter 속성에 접근해야한다.
const app = await NestFactory.create(AppModule);
const { httpAdapter } = app.get(HttpAdapterHost);
여기서 가져온 httpAdapter 가 framework 가 사용하는 실제 HTTP adapter instance (ExpressAdapter) 이다.
[nest HTTP adapter] https://docs.nestjs.com/faq/http-adapter