2

着信要求に HTTP ヘッダーを追加する必要がある node.js の Connect ミドルウェアに取り組んでいます。

このようなものがうまくいくようです:

function authorize_request(req, res, next) {
  //...
  req.headers['remote-user'] =  user;
  next();
}

問題は、リクエストが のインスタンスでhttp.IncomingMessageあり、headers プロパティが読み取り専用として文書化されていることです

これはリクエストにヘッダーを追加する許可された方法ですか、それともいくつかのシナリオで失敗しますか? より良い方法はありますか?

4

1 に答える 1

5

内部情報を次のミドルウェアに渡す必要がある場合は、実際のヘッダーの代わりにオブジェクトを使用してください。
他のモジュールがこれに依存する可能性があり、ヘッダーを台無しにする可能性があるため、ヘッダーを変更することはお勧めできません。

function authorize(req, res, next) {
  // ...
  req.data = req.data || { };
  req.data.remoteUser = user;
  next();
}
于 2013-07-08T10:33:10.267 に答える