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로 콜백을 호출하고(➋), POST와 PUT 메서드면 params 파라미터를 이용해 JSON을 스트링 형식으로 변환해서 전송하도록 합니다(➌).