在 Koa 中等于 req.on('data')

  • 本文关键字:data on req Koa node.js koa
  • 更新时间 :
  • 英文 :


Koa中以下代码的相等是什么.js :

req.on('data', function(data) {
   console.log(data);
}

您可以阻止访问节点.js请求,但您不应该这样做!

var req = this.request.req;

使用co-body您可以解析 JSON表单编码的请求。如果你想处理另一种体型,你必须编写自己的中间件。

下面是一个用于处理 XML 请求的虚拟中间件:

var raw = require('raw-body');
var parseXML = require('xml2js').parseString;
function xml(req, opts) {
  req = req.req || req;
  // Parse Content-Type
  var type = (req.headers['content-type'] || '').split(';')[0];
  if (type === 'application/xml') {
    return function(done) {
      raw(req, opts, function(err, str){
        if (err) return done(err);
        try {
          // Parse XML request
          parseXML(str, function(err, result) {
            if (err) throw err;
            done(null, result);
          });
        } catch (err) {
          err.status = 400;
          err.body = str;
          done(err);
        }
      });
    };
  } else {
    // Invalid request
    return function(done) {
      var err = new Error('Unsupported or missing content-type');
      err.status = 415;
      done(err);
    };
  }
}

用法:

var body = yield xml(this);

最新更新