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