2017-01-31 7 views
2

現在、フロントエンドにnodejs、mongo、express、W2UIを使用している実行中のサーバがあります。 W2uiリクエストはすべてのパラメータを持つレコード配列に入っています レコード[名前]:foo リクエストを編集してルートに到達する前に変更するミドルウェアを作成したいと思います。要求を変更するためのミドルウェアを表現する

答えて

4

独自のミドルウェアを作成してリクエストを操作することができます。

app.use(addDate); 

またはこのようなspesificルートへ:私は今、この

var addDate = function(req, res, next) { 
    req.body.date = new Date(); 
    next(); 
} 

のような要求に現在のサーバー時刻を追加するミドルウェアを作成しました、私はこのようなすべての要求について、このミドルウェアを使用することができます

app.get('/', addDate, function(req, res) { 
    res.send(req.body); 
}); 

get要求からの応答は次のようになります

{ 
    "date": "2017-01-31T11:46:37.003Z" 
} 
-1
あなたが望む方法で要求を変更して、以下のような順序の配列にそれを与えるために関数を作成し、http.jsでこれを行うことができます

: -

order: [ 
    'startRequestTimer', 
    'cookieParser', 
    'session', 
    'bodyParser', 
    'xframe', 
    'handleBodyParserError', 
    '**myRequestLogger**', 
    'compress', 
    'methodOverride', 
    // 'poweredBy', 
    '$custom', 
    'router', 
    'ravenRequestHandler', 
    'ravenErrorHandler', 
    'www', 
    'favicon', 
    '404', 
    '500' 
], 

myrequestLoggerがここにリクエストをログに記録する機能です。

関連する問題