const server = http.createServer(async (req, res) => {
if(req.method === 'OPTIONS'){
//이런 식으로 기입해주면 된다.
res.writeHead(200, defaultCorsHeader)
res.end()
})
//이런 식으로 정의한 것을,텍스트
const defaultCorsHeader = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Accept',
'Access-Control-Max-Age': 10
};
이 링크는 Node.js에서 HTTP 서버를 빌드하는 기본적인 방법을 다루고 있다.
https://nodejs.org/ko/docs/guides/anatomy-of-an-http-transaction/
이 사이트에 각 객체들이 어떤 메소드를 갖고있고 어떤 class에 속하는 지 등이 자세하게 나와있다.
내가 이번에 궁금했었고, 조금이나마 해결했던 것은,
request.on이다.
request.on() 같은 행위가 가능한 이유는
request가ReadableStream
의 인스턴스며,EventEmitter
의 인스턴스기도 하기 때문이라고 한다.이
EventEmitter
는on
이라는 method를 갖고 있다. 참고
on
은addEventListner
처럼 특정 event가 생기면callback
을 실행시킨다.
또한 다시EventEmitter
객체를 return하기 때문에 chaining이 가능하다.