2015-04-21 2 views
0

Я использую netty пример HexDumpProxyBackendHandler как базу для моего прокси. Мой трубопровод:Как преобразовать AggregatedFullHttpRequest в ByteBuf

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

В ProxyFrontendHandler Я пытаюсь изменить HttpRequest объект, прежде чем отправить его на сервер бэкэнда.
Итак, у меня есть объект в методе channelRead и с помощью EmbeddedChannel(new HttpRequestEncoder()), чтобы преобразовать его в ByteBuf, но это не сработает. Для запроса POST он генерирует HTTP-запрос с пустым телом, только заголовки. Каков правильный способ сделать это?

ответ

0

Я получил содержание, когда POST в ProxyFrontendHandler:

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

Да. Мы можем получить такой контент. Но мы должны затем преобразовать наш FullHttpRequest в ByteBuf. И вопрос в том, как его преобразовать? – Andrew

Смежные вопросы