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을 스트링 형식으로 변환해서 전송하도록 합니다().

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