我有一个自定义SonarQube网络服务,并希望SonarQube压缩响应。
由于org.sonar.api.server.ws.Response
类有一个stream()
方法,它返回一个实现org.sonar.api.server.ws.Response.Stream
接口的对象,所以我决定使用它。此接口具有output()
方法,该方法返回OutputStream
实例(很棒)。我当时希望能够做到这样的事情:
OutputStream responseOutputStream = response.stream().output();
OutputStream compressedOutputStream = new GZIPOutputStream(responseOutputStream);
// Here I write what I need to my compressed stream
但是我还应该能够将Content-Encoding
标头的值设置为gzip
...但我不知道怎么做,因为Response
接口没有提供一种设置响应标头的方法。
我怎样才能做到这一点?
由于
P.S。我的目标是SonarQube版本> = 4.5.x
答案 0 :(得分:0)
如果请求标头"接受编码&#34>,则会自动压缩HTTP响应。包含价值" gzip",所以不需要自己管理。
对问题的回答是否定的,API不允许设置响应标头。如果需要,它将在以后添加。