diff --git a/pom.xml b/pom.xml
index 2996d462..b3a0eb16 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.qcloud
cos_api
- 5.6.238
+ 5.6.240
jar
cos-java-sdk
java sdk for qcloud cos
@@ -86,7 +86,7 @@
com.tencentcloudapi
tencentcloud-sdk-java-kms
- 3.1.213
+ 3.1.1138
log4j
diff --git a/src/main/java/com/qcloud/cos/COS.java b/src/main/java/com/qcloud/cos/COS.java
index eb7414e9..c0f4763e 100644
--- a/src/main/java/com/qcloud/cos/COS.java
+++ b/src/main/java/com/qcloud/cos/COS.java
@@ -78,7 +78,6 @@
import com.qcloud.cos.model.fetch.PutAsyncFetchTaskRequest;
import com.qcloud.cos.model.fetch.PutAsyncFetchTaskResult;
import com.qcloud.cos.model.inventory.InventoryConfiguration;
-import com.squareup.okhttp.internal.http.HttpMethod;
public interface COS extends COSDirectSpi {
diff --git a/src/main/java/com/qcloud/cos/COSClient.java b/src/main/java/com/qcloud/cos/COSClient.java
index 7f058159..5a1f2dff 100644
--- a/src/main/java/com/qcloud/cos/COSClient.java
+++ b/src/main/java/com/qcloud/cos/COSClient.java
@@ -5545,13 +5545,22 @@ private void preflightObj(PutObjectRequest putObjectRequest) throws CosClientExc
String reqMsg = String.format("will do preflight request for put object[%s] to the bucket[%s]", key, bucketName);
log.debug(reqMsg);
CosServiceRequest serviceRequest = new CosServiceRequest();
+ Map customHeaders = putObjectRequest.getCustomRequestHeaders();
+ if (customHeaders != null) {
+ for (Map.Entry e : customHeaders.entrySet()) {
+ serviceRequest.putCustomRequestHeader(e.getKey(), e.getValue());
+ }
+ }
CosHttpRequest request = createRequest(bucketName, key, serviceRequest, HttpMethodName.HEAD);
if (putObjectRequest.getFixedEndpointAddr() != null) {
request.setEndpoint(putObjectRequest.getFixedEndpointAddr());
}
request.addParameter("preflight", null);
+ ObjectMetadata metadata = putObjectRequest.getMetadata();
+ if (metadata != null) {
+ populateRequestMetadata(request, metadata);
+ }
request.addHeader("x-cos-next-action", "PutObject");
-
invoke(request, voidCosResponseHandler);
}
}