diff --git a/IJPay-Core/src/main/java/com/ijpay/core/IJPayHttpResponse.java b/IJPay-Core/src/main/java/com/ijpay/core/IJPayHttpResponse.java index 838d5671b0b0f325a7b23697ab9c6994325d3753..e5a8dee5e5064127c3c26672ce1edfff68c4728e 100644 --- a/IJPay-Core/src/main/java/com/ijpay/core/IJPayHttpResponse.java +++ b/IJPay-Core/src/main/java/com/ijpay/core/IJPayHttpResponse.java @@ -25,6 +25,7 @@ import java.util.Map; public class IJPayHttpResponse implements Serializable { private static final long serialVersionUID = 6089103955998013402L; private String body; + private byte[] bodyByte; private int status; private Map> headers; @@ -36,6 +37,14 @@ public class IJPayHttpResponse implements Serializable { this.body = body; } + public byte[] getBodyByte() { + return bodyByte; + } + + public void setBodyByte(byte[] bodyByte) { + this.bodyByte = bodyByte; + } + public int getStatus() { return status; } diff --git a/IJPay-Core/src/main/java/com/ijpay/core/http/AbstractHttpDelegate.java b/IJPay-Core/src/main/java/com/ijpay/core/http/AbstractHttpDelegate.java index 412a95d3cd9571fc53593b985e3f27ac330b6400..f08a9869fc51ea8b32943ed9d864935c308f9b61 100644 --- a/IJPay-Core/src/main/java/com/ijpay/core/http/AbstractHttpDelegate.java +++ b/IJPay-Core/src/main/java/com/ijpay/core/http/AbstractHttpDelegate.java @@ -66,7 +66,11 @@ public abstract class AbstractHttpDelegate { public IJPayHttpResponse get(String url, Map paramMap, Map headers) { IJPayHttpResponse response = new IJPayHttpResponse(); HttpResponse httpResponse = getToResponse(url, paramMap, headers); - response.setBody(httpResponse.body()); + if (httpResponse.isGzip()) { + response.setBodyByte(httpResponse.bodyBytes()); + } else { + response.setBody(httpResponse.body()); + } response.setStatus(httpResponse.getStatus()); response.setHeaders(httpResponse.headers()); return response;