코드 5-3 파라미터를 얻어 오는 기능 추가

    예제 파일 : monolithic.js

    const http = require('http');
    const url = require('url');
    const querystring = require('querystring');
    
    var server = http.createServer((req, res) => {
        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; 
                // ➋ 헤더 정보가 json이면 처리
                if (req.headers['content-type'] == "application/json") {
                    params = JSON.parse(body);
                } else {
                    params = querystring.parse(body);
                }
                onRequest(res, method, pathname, params);
            });
        } else {
            // ➌ GET과 DELETE이면 query 정보를 읽음
            onRequest(res, method, pathname, uri.query);
        }
    }).listen(8000);
    
    function onRequest(res, method, pathname, params) {
        res.end("response!");  // ➍ 모든 요청에 "response!" 메시지를 보냄
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.