2014-01-09 73 views
1

我想用中間件函數來表示修改響應。修改響應的Express.js中間件

app.use(function(request, response, next) { 
    .. do something .. 
    next(); // moves to next middleware 
}); 

我可以修改將被傳遞到下面的中間件功能的requestresponse對象。是否有修改這些對象的慣例或最佳做法?

在我的特殊情況下,我設置了res.body,因爲通過使用res.write()它實際上已經發送了響應有效載荷。是否有一些屬性可以存儲有效負載,並且稍後將由下一個中間件功能發送?

+0

這就是我目前正在做的,我想知道是否有更好的方法來做到這一點,因爲中間件功能的全部目的是鏈接它們。 – Fr4ncis

回答

1

您可以在修改主體的其他中間件上建模中間件,如Connect的compress。你會發現你需要鉤入響應流,因爲Express和Connect處理流而不是靜態對象。