diff --git a/pom.xml b/pom.xml
index cc6019c5..372f3905 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.qcloud
cos_api
- 5.6.39
+ 5.6.39-snapshot
jar
cos-java-sdk
java sdk for qcloud cos
diff --git a/src/main/java/com/qcloud/cos/ClientConfig.java b/src/main/java/com/qcloud/cos/ClientConfig.java
index 2a373df0..fc422ea8 100644
--- a/src/main/java/com/qcloud/cos/ClientConfig.java
+++ b/src/main/java/com/qcloud/cos/ClientConfig.java
@@ -25,6 +25,7 @@
import com.qcloud.cos.endpoint.RegionEndpointBuilder;
import com.qcloud.cos.endpoint.SuffixEndpointBuilder;
import com.qcloud.cos.http.HttpProtocol;
+import com.qcloud.cos.internal.CosErrorResponseHandler;
import com.qcloud.cos.region.Region;
import com.qcloud.cos.retry.BackoffStrategy;
import com.qcloud.cos.retry.PredefinedBackoffStrategies;
@@ -86,6 +87,7 @@ public class ClientConfig {
private String userAgent = DEFAULT_USER_AGENT;
private int readLimit = DEFAULT_READ_LIMIT;
private COSSigner cosSigner = new COSSigner();
+ private CosErrorResponseHandler cosErrorResponseHandler = new CosErrorResponseHandler();
// 不传入region 用于后续调用List Buckets(获取所有的bucket信息)
public ClientConfig() {
@@ -271,4 +273,12 @@ public COSSigner getCosSigner() {
public void setCosSigner(COSSigner cosSigner) {
this.cosSigner = cosSigner;
}
+
+ public CosErrorResponseHandler getCosErrorResponseHandler() {
+ return cosErrorResponseHandler;
+ }
+
+ public void setCosErrorResponseHandler(CosErrorResponseHandler cosErrorResponseHandler) {
+ this.cosErrorResponseHandler = cosErrorResponseHandler;
+ }
}
diff --git a/src/main/java/com/qcloud/cos/http/DefaultCosHttpClient.java b/src/main/java/com/qcloud/cos/http/DefaultCosHttpClient.java
index ae598509..10877ca2 100644
--- a/src/main/java/com/qcloud/cos/http/DefaultCosHttpClient.java
+++ b/src/main/java/com/qcloud/cos/http/DefaultCosHttpClient.java
@@ -89,7 +89,7 @@ public class DefaultCosHttpClient implements CosHttpClient {
public DefaultCosHttpClient(ClientConfig clientConfig) {
super();
- this.errorResponseHandler = new CosErrorResponseHandler();
+ this.errorResponseHandler = clientConfig.getCosErrorResponseHandler();
this.clientConfig = clientConfig;
this.connectionManager = new PoolingHttpClientConnectionManager();
this.maxErrorRetry = clientConfig.getMaxErrorRetry();