我有一个无法编辑的jar,它为http响应添加了几个报头。然后,它接受响应和ctx.writeAndFlush(resp)
有没有办法在其他地方(如中间件)捕获此响应并对其进行编辑(添加/删除标头等)?
代码使用Netty http传输
发布于 2018-12-11 13:28:15
如果您有权访问用于传播响应的ChannelHandlerContext
(ctx)、Channel
或Pipeline
。然后,您可以通过将ChannelOutboundHandler
添加到Pipeline
并覆盖此处理程序的write
或flush
方法来访问响应。在这些方法中,您可以修改响应。
发布于 2018-12-11 13:28:03
当然,您可以添加自己的ChannelOutboundHandlerAdapter
并覆盖write(...)
。在这里,您可以在再次调用ctx.write(...)
并传递它之前动态调整response
。
只要确保在ChannelPipeline
中将您的处理程序放在其他处理程序之前即可。
https://stackoverflow.com/questions/53721841
复制相似问题