|
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