|
19 | 19 | import static software.amazon.awssdk.services.s3.crt.S3CrtSdkHttpExecutionAttribute.CRT_PROGRESS_LISTENER; |
20 | 20 | import static software.amazon.awssdk.services.s3.crt.S3CrtSdkHttpExecutionAttribute.METAREQUEST_PAUSE_OBSERVABLE; |
21 | 21 | import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.CRT_PAUSE_RESUME_TOKEN; |
22 | | -import static software.amazon.awssdk.services.s3.multipart.S3MultipartExecutionAttribute.JAVA_PROGRESS_LISTENER; |
23 | 22 |
|
24 | 23 | import java.util.concurrent.CompletableFuture; |
25 | 24 | import java.util.function.Consumer; |
@@ -70,36 +69,14 @@ public final Upload upload(UploadRequest uploadRequest) { |
70 | 69 | TransferProgressUpdater progressUpdater = new TransferProgressUpdater(uploadRequest, |
71 | 70 | requestBody.contentLength().orElse(null)); |
72 | 71 | progressUpdater.transferInitiated(); |
73 | | - // requestBody = progressUpdater.wrapRequestBody(requestBody); |
74 | 72 | progressUpdater.registerCompletion(returnFuture); |
75 | 73 |
|
76 | | - S3MetaRequestPauseObservable observable = new S3MetaRequestPauseObservable(); |
77 | | - |
78 | | - Consumer<SdkHttpExecutionAttributes.Builder> attachObservable = |
79 | | - b -> b.put(METAREQUEST_PAUSE_OBSERVABLE, observable) |
80 | | - .put(CRT_PROGRESS_LISTENER, progressUpdater.crtProgressListener()); |
81 | | - |
82 | | - PutObjectRequest putObjectRequest = attachCrtSdkAttribute(uploadRequest.putObjectRequest(), attachObservable); |
| 74 | + Consumer<SdkHttpExecutionAttributes.Builder> attachProgress = |
| 75 | + b -> b.put(CRT_PROGRESS_LISTENER, progressUpdater.crtProgressListener()); |
83 | 76 |
|
84 | | - progressUpdater.transferInitiated(); |
85 | | - progressUpdater.registerCompletion(returnFuture); |
| 77 | + PutObjectRequest putObjectRequest = attachCrtSdkAttribute(uploadRequest.putObjectRequest(), attachProgress); |
86 | 78 |
|
87 | | - try { |
88 | | - assertNotUnsupportedArn(uploadRequest.putObjectRequest().bucket(), "upload"); |
89 | | - |
90 | | - CompletableFuture<PutObjectResponse> future = |
91 | | - s3AsyncClient.putObject(putObjectRequest, requestBody); |
92 | | - |
93 | | - // Forward upload cancellation to future |
94 | | - CompletableFutureUtils.forwardExceptionTo(returnFuture, future); |
95 | | - |
96 | | - CompletableFutureUtils.forwardTransformedResultTo(future, returnFuture, |
97 | | - r -> CompletedUpload.builder() |
98 | | - .response(r) |
99 | | - .build()); |
100 | | - } catch (Throwable throwable) { |
101 | | - returnFuture.completeExceptionally(throwable); |
102 | | - } |
| 79 | + doUpload(putObjectRequest, requestBody, returnFuture); |
103 | 80 |
|
104 | 81 | return new DefaultUpload(returnFuture, progressUpdater.progress()); |
105 | 82 | } |
|
0 commit comments