добавить заголовки к ответу, сгенерированному ChannelHandlerContext (Netty) - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть баночка, которую я не могу редактировать, которая добавляет несколько заголовков в ответ http.Затем он принимает ответ и ctx.writeAndFlush(resp)

Есть ли способ перехватить этот ответ в другом месте (например, в промежуточном программном обеспечении) и отредактировать его (добавить / удалить заголовки и т. Д.)?

Код использует Netty http tranport

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

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

0 голосов
/ 11 декабря 2018

Конечно, вы можете добавить свой ChannelOutboundHandlerAdapter и переопределить write(...).Здесь вы можете настроить response на лету, прежде чем снова вызывать ctx.write(...) и передать его.

Просто убедитесь, что вы поместили свой обработчик перед другим обработчиком в ChannelPipeline.

...