Skip to content

Commit a3d2bef

Browse files
Update Design.md - addressed comments
1 parent 6a77d7e commit a3d2bef

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

docs/design/core/presignedURL-Get/Design.md

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,10 @@ GetObjectResponse response = presignManager.getObject(request);
6262

6363
```java
6464
/**
65-
* Presigned URL Manager class that implements presigned URL features for an async client.
65+
* Interface for presigned URL operations used by Async clients.
6666
*/
6767
@SdkPublicApi
6868
public interface AsyncPresignedUrlManager {
69-
70-
/**
71-
* Downloads S3 objects using pre-signed URLs. Bypasses normal authentication
72-
* and endpoint resolution while maintaining SDK benefits like retries and metrics.
73-
*
74-
* @param request the presigned URL request containing URL and optional range parameters.
75-
* @return a CompletableFuture of the corresponding GetObjectResponse.
76-
*/
77-
CompletableFuture<GetObjectResponse> getObject(PresignedUrlGetObjectRequest request);
7869

7970
/**
8071
* Downloads S3 objects using pre-signed URLs with custom response transformation.
@@ -95,7 +86,7 @@ public interface AsyncPresignedUrlManager {
9586

9687
```java
9788
/**
98-
* Presigned URL Manager class that implements presigned URL features for a sync client.
89+
* Interface for presigned URL operations used by Sync clients.
9990
*/
10091
@SdkPublicApi
10192
public interface PresignedUrlManager {
@@ -158,7 +149,7 @@ Three approaches were considered:
158149

159150
2. **Direct S3Client Integration**: Add presigned URL methods directly to S3Client
160151
- **Pros**: Familiar interface, direct migration path from v1
161-
- **Cons**: Requires core interceptor changes, complex integration
152+
- **Cons**: Requires core interceptor changes, complex integration, could confuse users by mixing presigned URL APIs with standard service-generated APIs
162153

163154
3. **S3Presigner Extension**: Extend existing S3Presigner to execute URLs
164155
- **Pros**: Logical extension of presigner concept
@@ -168,7 +159,7 @@ Three approaches were considered:
168159

169160
### Why doesn't PresignedUrlGetObjectRequest extend S3Request?
170161

171-
While extending S3Request would provide access to RequestOverrideConfiguration, many of these configurations (like credentials provider, signers) are not supported with presigned URL execution and could cause conflicts. Instead, we use a standalone request with only essential parameters (presignedUrl, rangeStart, rangeEnd). Internally, this gets wrapped in an encapsulated class that extends S3Request for use with ClientHandler.
162+
While extending S3Request would provide access to RequestOverrideConfiguration, many of these configurations (like credentials provider, signers) are not supported with presigned URL execution. Instead, we use a standalone request with only essential parameters (presignedUrl, rangeStart, rangeEnd). Internally, this gets wrapped in an encapsulated class that extends S3Request for use with ClientHandler.
172163

173164

174165
## References

0 commit comments

Comments
 (0)