为netty代理中的gzip deflate添加通道处理程序



在以下文件中:https://github.com/adamfisk/LittleProxy/blob/master/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java

我需要添加一个"通道处理程序",它将压缩gzipped的内容。我不知道如何做到这一点,因为我一无所知。有人能给我一个正确的方向吗?

正如其他人所指出的,你的代码有点太长,这会让这个网站上的人的生活变得更加困难,但我想我可以帮你一点。

为了对netty做一个小的解释,您收到的每个请求都经过一个处理程序管道,每个请求都有自己的关联管道。

因此,在启动管道的方法中,您应该添加一个用于解压缩的处理程序,在您的情况下:

initChannelPipeline(ChannelPipeline pipeline, HttpRequest httpRequest)

您要查找的处理程序是HttpContentDecompressor或HttpContentCompressor,无论您是试图解压缩gzip数据还是将其压缩为gzip(不清楚您是否希望压缩gzip内容。您应该说如果是gzip则膨胀,如果没有压缩则收缩。将其视为气球。膨胀时会占用更多空间)。

您应该注意在管道中添加处理程序的顺序。

有关更多解释,请参阅渠道管道文档。

最新更新