This is an automated email from the ASF dual-hosted git repository.
hepin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
The following commit(s) were added to refs/heads/main by this push:
new b9264dcf6 Only pass SSE headers for multipart upload requests
b9264dcf6 is described below
commit b9264dcf63d09b627ae4d0cdec62847648e04b96
Author: Matthew de Detrich <[email protected]>
AuthorDate: Wed Apr 19 02:49:38 2023 +0200
Only pass SSE headers for multipart upload requests
---
.../org/apache/pekko/stream/connectors/s3/impl/S3Stream.scala | 6 +++---
s3/src/test/scala/docs/scaladsl/S3SinkSpec.scala | 9 +++++++--
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git
a/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/impl/S3Stream.scala
b/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/impl/S3Stream.scala
index 04d836af6..956d86bb0 100644
---
a/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/impl/S3Stream.scala
+++
b/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/impl/S3Stream.scala
@@ -1014,7 +1014,7 @@ import scala.util.{ Failure, Success, Try }
import mat.executionContext
implicit val conf: S3Settings = resolveSettings(attr, mat.system)
- val headers = s3Headers.headersFor(UploadPart)
+ val headers =
s3Headers.serverSideEncryption.map(_.headersFor(UploadPart)).getOrElse(Nil)
Source
.future(
@@ -1098,7 +1098,7 @@ import scala.util.{ Failure, Success, Try }
val chunkBufferSize = chunkSize * 2
- val headers = s3Headers.headersFor(UploadPart)
+ val headers =
s3Headers.serverSideEncryption.map(_.headersFor(UploadPart)).getOrElse(Nil)
Flow
.fromMaterializer { (mat, attr) =>
@@ -1189,7 +1189,7 @@ import scala.util.{ Failure, Success, Try }
val chunkBufferSize = chunkSize * 2
- val headers = s3Headers.headersFor(UploadPart)
+ val headers =
s3Headers.serverSideEncryption.map(_.headersFor(UploadPart)).getOrElse(Nil)
Flow
.fromMaterializer { (mat, attr) =>
diff --git a/s3/src/test/scala/docs/scaladsl/S3SinkSpec.scala
b/s3/src/test/scala/docs/scaladsl/S3SinkSpec.scala
index 47ed79ab9..9ec90adb3 100644
--- a/s3/src/test/scala/docs/scaladsl/S3SinkSpec.scala
+++ b/s3/src/test/scala/docs/scaladsl/S3SinkSpec.scala
@@ -251,6 +251,8 @@ class S3SinkSpec extends S3WireMockBase with
S3ClientIntegrationSpec with Option
val sseCSourceAlgorithmHeader =
"x-amz-copy-source-server-side-encryption-customer-algorithm"
val sseCSourceAlgorithmHeaderValue = "AES256"
val sseCSourceKeyHeader =
"x-amz-copy-source-server-side-encryption-customer-key"
+ val sseCKeyHeaderMd5 = "x-amz-server-side-encryption-customer-key-MD5"
+ val sseCKeyHeaderMd5Value = "md5"
val sseCSourceKeyHeaderValue = sseCustomerKey
val result =
@@ -286,10 +288,13 @@ class S3SinkSpec extends S3WireMockBase with
S3ClientIntegrationSpec with Option
.withHeader(sseCSourceKeyHeader, new
EqualToPattern(sseCSourceKeyHeaderValue))
.withHeader(requestPayerHeader, new
EqualToPattern(requestPayerHeaderValue)))
- // No SSE-C headers required for CompleteMultipartUpload
+ // SSE headers only
mock.verifyThat(
postRequestedFor(urlEqualTo(s"/$targetBucketKey?uploadId=$uploadId"))
- .withHeader(requestPayerHeader, new
EqualToPattern(requestPayerHeaderValue)))
+ .withHeader(sseCAlgorithmHeader, new
EqualToPattern(sseCAlgorithmHeaderValue))
+ .withHeader(sseCKeyHeader, new EqualToPattern(sseCKeyHeaderValue))
+ .withHeader(sseCKeyHeaderMd5, new
EqualToPattern(sseCKeyHeaderMd5Value))
+ .withoutHeader(requestPayerHeader))
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]