Flatiron Unionベースのアプリで作業していますが、ルートが実行される前にログを作成している単純なロガーのようです。そのため、何が起こったかを正確に報告していません。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
httpサーバーが実際に404を返したとき、報告されるステータスは200であることに注意してください。
なぜこれが故障しているのですか?