我最近在Nodejitsu上阅读了一篇博客,我想知道这段代码是如何工作的。
var fs = require('fs'),
http = require('http'),
httpProxy = require('../lib/node-http-proxy');
module.exports = function (logging) {
// Code here is run when the middleware is initially loaded.
var logFile = fs.createWriteStream('./requests.log');
return function (request, response, next) {
// Code here is run on each request.
if (logging) {
logFile.write(JSON.stringify(request.headers, true, 2));
}
next();
}
}
而对这段代码给出的解释是:
该中间件用于非常简单的日志记录——它将每个请求的标头写入日志文件。
上面导出的模块可以用作,
httpProxy.createServer(
require('./example-middleware')(true),
8000, 'localhost'
).listen(9000)
上述方法中的代码如何next()
在每个请求中调用?用法很简单: require 上面的模块,它每次都会被调用。