如何将AggregatedFullHttpRequest转换为ByteBuf

时间:2015-04-21 05:57:53

标签: java netty

我使用netty HexDumpProxyBackendHandler示例作为我的代理的基础。我的管道:

new HttpRequestDecoder(),
new HttpContentDecompressor(),
new HttpContentCompressor(),
new HttpObjectAggregator(65536),
new ProxyFrontendHandler()

ProxyFrontendHandler我尝试修改HttpRequest对象,然后再将其发送到后端服务器。
因此,我在channelRead方法中获得了AggregatedFullHttpRequest个对象,并使用EmbeddedChannel(new HttpRequestEncoder())将其转换为ByteBuf,但这并不起作用。对于POST请求,它生成具有空主体的http请求,仅生成标头。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我在ProxyFrontendHandler中的POST时获得了内容:

@Override 
public void channelRead0(ChannelHandlerContext ctx,
        FullHttpRequest req) throws Exception {
    ByteBuf content = req.getContent(); // this way?
}