Je suis en train d'utiliser le compresseur disponible dans Netty, a ajouté la ligne suivante dans la canalisation de canalComment utiliser déflateur Netty pour compresser la réponse envoyée au navigateur
pipeline.addLast("gzip", new HttpContentCompressor());
Je suis en train de l'en-tête de réponse "Content-Encoding"
-"gzip"
.
Ma question est ici comment définir le contenu, j'ai essayé les éléments suivants
response.setContent(ChannelBuffers.copiedBuffer(responseText, CharsetUtil.UTF_8));
où responseText
-> Chaîne que je veux envoyer au navigateur.
je reçois une erreur que le contenu ne soit pas flux gzip
org.jboss.netty.handler.codec.embedder.CodecEmbedderException: org.jboss.netty.handler.codec.compression.CompressionException: échec de décompression (-3): non un flux gzip
Si je gzip le responseText
puis faire un setContent(gzippedResponse)
? ou est-ce que je manque quelque chose ici?
Merci @Veebs. Cela a fonctionné, la raison de l'exception était que je n'ai pas passé l'en-tête suivant dans la requête 'request.setHeader (HttpHeaders.Names.ACCEPT_ENCODING, HttpHeaders.Values.GZIP);' – Sundar