来自Play Framework的WSClient的gzip请求

时间:2016-12-02 10:08:27

标签: web-services http playframework ws-client

我正在尝试使用Play Framework中的WSClient API来调用Web服务。 主要问题是我希望在不超过最大有效负载大小的情况下传输巨大的JSON有效负载(超过2MB)。

为此,我想使用gzip压缩请求(使用HTTP标头Content-Encoding: gzip)。在documentation中,提到了参数play.ws.compressionEnabled,但它似乎只启用了WSResponse压缩。

我尝试手动压缩有效负载(使用GZipOutputStream)并放置标头Content-Encoding:gzip,但服务器抛出io.netty.handler.codec.compression.DecompressionException : Unsupported compression method 191 in the GZIP header

我怎样才能正确压缩我的请求?

提前致谢

1 个答案:

答案 0 :(得分:0)

不幸的是,我认为你不能压缩请求(Netty,底层库不支持它)。您可以在https://github.com/AsyncHttpClient/async-http-client/issues/93https://github.com/netty/netty/issues/2132

中找到更多信息