먼저 HTTP 서버 기능을 만듭니다.

    코드 8-1 HTTP 게이트웨이

    예제 파일 : gate.js

    const http = require('http');
    const url = require('url');
    const querystring = require('querystring');
    
    var server = http.createServer((req, res) => {    // ➊ HTTP 서버 생성
        var method = req.method;
        var uri = url.parse(req.url, true);
        var pathname = uri.pathname;
    
        if (method === "POST" || method === "PUT") {  // ➋ POST, PUT 메서드 처리
            var body = "";
    
            req.on('data', function(data) {
                body += data;
            });
            req.on('end', function() {
                var params;
                // ➌ 헤더가 application/json일 때는 JSON으로 파싱
                if (req.headers['content-type'] == "application/json") {
                    params = JSON.parse(body);
                } else {
                // ➍ 헤더가 JSON이 아니면 querystring으로 파싱
                    params = querystring.parse(body);
                }
    
                onRequest(res, method, pathname, params);
            });
        } else {
            onRequest(res, method, pathname, uri.query);
        }
    }).listen(8000, () => {
        console.log('listen', server.address());
    });
    
    function onRequest(res, method, pathname, params) {  // ➎ 요청 정보 처리
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.