Как установить заголовок Content-Length в нескольких маршрутов с использованием никелевого промежуточного ПО?
Насколько я понимаю, обработчики промежуточного программного обеспечения не подходят для этого, так как они работают до обработки запроса. Мое текущее решение:
router.get("/items/:id", middleware! { |request, mut response|
// ...
let data = json::encode(&data).unwrap();
response.set(ContentLength(data.len() as u64));
data
});
Мне это не нравится, потому что у меня много маршрутов, и мне придется вставлять этот код в каждый из них. Я хотел бы промежуточное программное обеспечение, которое будет называться после обработки моих маршрутов. Есть ли другой способ?