Expressミドルウェアのbody-parserが簡単に実現します.


Expressミドルウェアのbody-parserが簡単に実現します.
前の文章では、body-parserのミドルウェアでpost要求をどう処理するかを書きましたが、今日は大体body-parserのurlencodedという方法を実現します.まずコマンド提示でmkdir lib&cd libを入力します.touch body-parser.jsを再入力します.下のコードをbody-parser.jsで一回ノックしてください.
// lib/body-parser.js
const querystring = require('querystring');

module.exports.urlencoded = function (req, res, next) {
    let chunks = [];
    req.on('data', data => {
        chunks.push(data);
    });

    req.on('end', () => {
        //   Buffer。
        let buf = Buffer.concat(chunks).toString();
        //  querystring    json    req.body 。
        req.body = querystring.parse(buf);
        next();
    });
}
メインプログラムコードは以下の通りです.
// app.js
const express = require('express');
const bodyParser = require('./lib/body-parser');

let app = express();

app.use(bodyParser.urlencoded);


app.post('/', (req, res) => {
    res.send(req.body);
});

app.listen(8000);
今はbody-parserのミドルウェアと似たような機能を完成しました.req.bodyの上にリクエストしてきたpostデータがあります.
私のブログとgithub、好きなものは星を点けてください.ありがとうございます.
https://github.com/lanpangzhi
http://blog.langpz.com