У меня есть банка, которую я не могу редактировать, которая добавляет несколько заголовков в HTTP-ответ. Затем он принимает ответ и ctx.writeAndFlush(resp)
Есть ли способ поймать этот ответ в другом месте (например, промежуточное ПО) и отредактировать его (добавить / удалить заголовки и т. д.)?
Код использует Netty http tranport




Конечно, вы можете добавить свой собственный ChannelOutboundHandlerAdapter и переопределить write(...). Здесь вы можете настроить response на лету, прежде чем вы снова вызовете ctx.write(...) и передадите его дальше.
Просто убедитесь, что вы поместили свой обработчик перед другим обработчиком в ChannelPipeline.
Если у вас есть доступ к ChannelHandlerContext (ctx), Channel или Pipeline, через которые распространяется ответ. Затем вы можете получить доступ к ответу, добавив ChannelOutboundHandler к Pipeline и переопределив метод write или flush этого обработчика. В этих методах вы можете изменить ответ.