tkhrsskの日記

技術ネタなど

簡易Webサーバ(APIサーバのスタブ) Node.js版

勢いでサンプルを書いておく。

let http = require('http');
let server = http.createServer();

let id = 0;
server.on('request', function(req, res)
{
    console.log("HTTP", req.httpVersion, req.method, req.url, req.headers);

    let response = {};
    id += 1;
    response.id = id;
    response.status = 200;
    response.message = 'Hello, world!';
    console.log(JSON.stringify(response));
    res.setHeader('Access-Control-Allow-Origin', '*')
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, HEAD, OPTIONS')
    res.setHeader('Access-Control-Allow-Headers', '*')
    res.writeHead(200, {"Content-Type": "application/json"})
    res.write(JSON.stringify(response));
    res.end();

    console.log(res.statusCode, res.statusMessage);
});

server.listen(3000, '127.0.0.1');

これで、下記のようなレスポンスが返ってくる。

{"id":1,"status":200,"message":"Hello, world!"}

Pythonだと下記などが参考になりそう

Python http通信のサンプル | ITSakura