2015-04-28 28 views
0

在以下文件: https://github.com/adamfisk/LittleProxy/blob/master/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java添加信道信息處理機gzip的在網狀代理緊縮

我需要添加一個「信道信息處理機」,這將縮小gzip壓縮的內容。我不知道如何做到這一點,沒有網絡知識。有人能給我一個正確的方向嗎?

+3

你的問題應該包括我們需要知道的一切;請在這裏重現相關的代碼片段,而不是鏈接到別處的文件。 – anaximander

+0

在問題結束時,您無需簽署您的姓名。此外,我試圖將您的代碼複製到問題中,但時間太長。您將需要爲您的代碼外觀創建一個小例子。請查看提供的幫助:http://stackoverflow.com/help/how-to-ask –

回答

1

正如其他人指出的那樣,你的代碼有點太長了,它讓這個網站上的人的生活變得更加困難,但我想我可以幫你一點點。

要給出一個關於netty的小解釋,您收到的每個請求都會經過處理程序的管道,並且每個請求都有自己的管道關聯。

因此,它是在方法啓動您的管道,你應該添加一個處理減壓,你的情況:

initChannelPipeline(ChannelPipeline pipeline, HttpRequest httpRequest) 

你正在尋找的處理器或者是HttpContentDecompressorHttpContentCompressor您是否想解壓gzip數據或壓縮成gzip(目前還不清楚,因爲你說你想縮小gzip的內容,你應該說如果gzip膨脹或壓縮它,如果沒有壓縮,可以認爲它是一個氣球,當充氣時,它需要更多的空間)。

您應該注意您在管道中添加處理程序的順序。

有關更多說明,請參閱Channel pipeline doc