googleapis / googleapis/google-http-java-client

GZipEncoding should throw IOException from close

未关闭
#868 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
type: cleanup
主要语言
Java
星标
1.4k
派生
473
PR 合并指标
30 天内没有已合并 PR

描述

The close method below swallows IOExceptions. That seems unnecessary and dangerous.

```
public class GZipEncoding implements HttpEncoding {

public String getName() {
return "gzip";
}

public void encode(StreamingContent content, OutputStream out) throws IOException {
// must not close the underlying output stream
OutputStream out2 =
new BufferedOutputStream(out) {
@Override
public void close() throws IOException {
// copy implementation of super.close(), except do not close the underlying output
// stream
try {
flush();
} catch (IOException ignored) {
// Nothing else we can do here
}
}
};
GZIPOutputStream zipper = new GZIPOutputStream(out2);
content.writeTo(zipper);
// cannot call just zipper.finish() because that would cause a severe memory leak
zipper.close();
}
}
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。