더북(TheBook)

3.3.2절에서 다룬 내용을 참고해 HTTP 클라이언트를 만듭니다.

코드 5-23 HTTP 클라이언트

예제 파일 : test.js

var options = {
    host: "127.0.0.1",
    port: 8000,
    headers: {                              // ➊ JSON 형식의 헤더 정보
        'Content-Type': 'application/json'
    }
};

function request(cb, params) {
    var req = http.request(options, (res) => {
        var data = "";
        res.on('data', (chunk) => {
            data += chunk;
        });

        res.on('end', () => {
            console.log(options, data);
            cb();                           // ➋ cb : 통신 완료 후 콜백을 알려 줌
        });
    });

    if (params) {
        req.write(JSON.stringify(params));  // ➌ POST, PUT이면 스트링 형식으로 전송
    }

    req.end();
}

options에 접속 정보와 서버에 JSON 형식으로 데이터를 전송하겠다는 헤더 정보를 지정합니다(). HTTP 통신을 담당하는 request 함수에 통신을 완료한 후 cb로 콜백을 호출하고(), POSTPUT 메서드면 params 파라미터를 이용해 JSON을 스트링 형식으로 변환해서 전송하도록 합니다().

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.