我正在使用基於Flatiron Union的應用程序,並且似乎我正在開發日誌的簡單記錄器在運行路線之前,因此它不會準確報告發生的情況。我從Union示例中獲取了記錄器示例代碼。這裏是一個精簡的代碼示例:Flatiron Union「之後」功能在「之前」功能之前執行?
var
union = require('union')
, server;
server = union.createServer({
before: [ function (req,res) {
console.log('before');
res.writeHead(404, {"Content-Type": "text/plain"});
res.end("Hello World");
} ],
after: [
function LoggerStream() {
var stream = new union.ResponseStream();
stream.once("pipe", function (req) {
console.log({res: this.res.statusCode, method: this.req.method});
});
return stream;
}
]
});
server.listen(8800);
console.log('union running on 8800');
下面是出現在我的控制檯:
$ DEBUG=* node ./union.js
union running on 8800
{ res: 200, method: 'GET' }
before
注意,報告的狀態是200,當HTTP服務器實際上返回404
爲什麼這個用完了嗎?
查看對話:https://groups.google.com/forum/?fromgroups#!topic/flatironjs/9EFr2YWx8xY – Zhami 2012-05-02 10:07:44