GZipEncoding should throw IOException from close
まだ誰も着手していません。
評価
調査の方向性
Issue に示されている GZipEncoding.encode メソッドから始め、匿名クラスでの BufferedOutputStream.close のオーバーライドと、その IOException の処理に重点を置いてください。close からの IOException が握りつぶされずに伝播することを確認し、その後プロジェクトに関連するテストを実行して、呼び出し元からエラーを確認できることを検証してください。
索引モデルが issue の本文から書いたものです。
説明
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();
}
}
- 主要言語
- Java
- スター
- 1.4k
- フォーク
- 473
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
googleapis/google-http-java-client のほかの issue
-
GenericData.containsKey() returns true for unset (null) declared fields, violating Map contract オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
googleapis/google-http-java-client#2187 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
Core: LowLevelHttpResponse not disconnected when HttpResponse construction throws RuntimeException オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
priority: p2 type: cleanup
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
googleapis/google-http-java-client の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
infinispan/infinispan#18150 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
opensearch-project/k-NN#3597 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100