base.js 1.92 KB
var http = require('http');
var fs = require('fs');
var url = require('url');
var request = require('request');

function templateTimeTable(busNum, req){
    return `
    <!doctype html>
    <html>
    <head>
        <title>Time Table</title>
        <meta charset="utf-8">
        <style type="text/css">
            a { text-decoration:none } 
        </style>
    </head>
    
    <body>
        <h1><a href="Index.html"><p style="text-align:center;">BTT</p></a></h1>
        <br>
        <h2>${busNum} BUS Time Table</h2>
        <br>
        ${req}
    </body>
    </html>
            `;    
}

function req_post(busNum){
    request.post(
        {
            url: 'http://34.206.171.225:23023/server',
            body: {
                'busNum': busNum,
                'testVariable': 'test'
            },
            json: true
        }
    );
}

function req_get(){
    request.get(
        {
            url: 'http://34.206.171.225:23023/test2134',
        }
    );
}
 
var app = http.createServer(function(request,response){
    var _url = request.url;
    var queryData = url.parse(_url, true).query;
    var busNum = queryData.busNum; // function의 parameter로 queryData.busNum은 안되서 새로 변수를 만듦
    if(_url == '/'){
      _url = '/Index.html';
    }
    if(_url == '/favicon.ico'){
      return response.writeHead(404);
    }
    response.writeHead(200);
    console.log(queryData.busNum);

    if (busNum != null){ // 버스번호를 요청했을때 타임테이블 페이지로 전환
        req_post(busNum);
        var resFromServer = req_get();
        console.log(req_get());
        //var resFromServer = '<p> Response from API server ... </p>';
        var timetableHTML = templateTimeTable(busNum, resFromServer);
        response.end(timetableHTML);
    }
    else{ // 아니라면, url 따라감
        response.end(fs.readFileSync(__dirname + _url));
    } 
});
app.listen(23023);
console.log("Listening on 23023");