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();