【问题标题】:add headers to a response fired by ChannelHandlerContext (Netty)将标头添加到 ChannelHandlerContext (Netty) 触发的响应中
【发布时间】:2019-05-12 07:23:17
【问题描述】:

我有一个无法编辑的 jar,它在 http 响应中添加了几个标头。然后它接受响应和ctx.writeAndFlush(resp)

有没有办法在其他地方(如中间件)捕获此响应并对其进行编辑(添加/删除标题等)?

代码使用Netty http 传输

【问题讨论】:

    标签: java scala netty middleware channel


    【解决方案1】:

    如果您有权访问 ChannelHandlerContext (ctx)、ChannelPipeline,响应会通过它们传播。然后,您可以通过将ChannelOutboundHandler 添加到Pipeline 并覆盖此处理程序的writeflush 方法来访问响应。在这些方法中,您可以修改响应。

    【讨论】:

      【解决方案2】:

      当然,您可以添加自己的ChannelOutboundHandlerAdapter 并覆盖write(...)。您可以在此处即时调整response,然后再次调用ctx.write(...) 并将其传递。

      只需确保将您的处理程序放在 ChannelPipeline 中的其他处理程序之前。

      【讨论】:

        猜你喜欢
        • 2016-05-15
        • 1970-01-01
        • 1970-01-01
        • 2019-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多