diff --git a/api/src/main/java/io/minio/GenericResponse.java b/api/src/main/java/io/minio/GenericResponse.java index 5d0308235..ac330f656 100644 --- a/api/src/main/java/io/minio/GenericResponse.java +++ b/api/src/main/java/io/minio/GenericResponse.java @@ -19,7 +19,7 @@ import okhttp3.Headers; /** Generic response class of any APIs. */ -public abstract class GenericResponse { +public class GenericResponse { private Headers headers; private String bucket; private String region; diff --git a/api/src/main/java/io/minio/GetObjectResponse.java b/api/src/main/java/io/minio/GetObjectResponse.java index 7cf54cfc8..0f473a1ed 100644 --- a/api/src/main/java/io/minio/GetObjectResponse.java +++ b/api/src/main/java/io/minio/GetObjectResponse.java @@ -16,18 +16,16 @@ package io.minio; -import java.io.IOException; -import java.io.InputStream; +import java.io.FilterInputStream; import okhttp3.Headers; -public class GetObjectResponse extends InputStream { - private BaseResponse response; - private InputStream body; +public class GetObjectResponse extends FilterInputStream { + private GenericResponse response; public GetObjectResponse( Headers headers, String bucket, String region, String object, InputStream body) { - this.response = new BaseResponse(headers, bucket, region, object); - this.body = body; + super(body); + this.response = new GenericResponse(headers, bucket, region, object); } public Headers headers() { @@ -45,59 +43,4 @@ public String region() { public String object() { return response.object(); } - - public InputStream body() { - return body; - } - - @Override - public int available() throws IOException { - return body.available(); - } - - @Override - public void close() throws IOException { - body.close(); - } - - @Override - public void mark(int readlimit) { - body.mark(readlimit); - } - - @Override - public boolean markSupported() { - return body.markSupported(); - } - - @Override - public int read() throws IOException { - return body.read(); - } - - @Override - public int read(byte[] b) throws IOException { - return body.read(b); - } - - @Override - public int read(byte[] b, int off, int len) throws IOException { - return body.read(b, off, len); - } - - @Override - public void reset() throws IOException { - body.reset(); - } - - @Override - public long skip(long n) throws IOException { - return body.skip(n); - } - - private static class BaseResponse extends GenericResponse { - public BaseResponse(Headers headers, String bucket, String region, String object) { - super(headers, bucket, region, object); - } - } }