From edbb04167e9b59ff0d0075c388ab767aaaa5243a Mon Sep 17 00:00:00 2001
From: czq <89424516@qq.com>
Date: Sun, 25 Apr 2021 09:39:36 +0800
Subject: [PATCH] support errorhandle self define
---
pom.xml | 2 +-
src/main/java/com/qcloud/cos/ClientConfig.java | 10 ++++++++++
.../java/com/qcloud/cos/http/DefaultCosHttpClient.java | 2 +-
3 files changed, 12 insertions(+), 2 deletions(-)
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();