Skip to content

Commit 073245f

Browse files
Updated DecisionLog.md
1 parent 6799c87 commit 073245f

File tree

1 file changed

+9
-20
lines changed

1 file changed

+9
-20
lines changed

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

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,27 @@
66

77
### Closed Decisions
88

9-
1. **Response Type:** Create a new PresignedUrlGetObjectResponse specifically for pre-signed URLs, or use the existing GetObjectResponse?
10-
- Decided to use the existing GetObjectResponse for pre-signed URL operations as the HTTP response from a pre-signed URL GET is same as a standard S3 GetObject response.
9+
1. Create a new PresignedUrlGetObjectResponse specifically for pre-signed URLs, or use the existing GetObjectResponse? Decided to use the existing GetObjectResponse for pre-signed URL operations as the HTTP response from a pre-signed URL GET is same as a standard S3 GetObject response.
1110

12-
2. **Exception Handling:** Use the existing SDK and S3 exceptions or implement specialized exceptions for validation errors like expired URLs?
13-
- Decided to utilize existing SDK exceptions rather than creating specialized ones for pre-signed URL operations.
11+
2. Use the existing SDK and S3 exceptions or implement specialized exceptions for validation errors like expired URLs? Decided to utilize existing SDK exceptions rather than creating specialized ones for pre-signed URL operations.
1412

15-
3. **Validation Strategy:** Provide additional client-side validation with server-side validation as fallback or just rely entirely on server-side validation from S3?
16-
- No additional client-side validation will be implemented for pre-signed URLs.
13+
3. Provide additional client-side validation with server-side validation as fallback or just rely entirely on server-side validation from S3? No additional client-side validation will be implemented for pre-signed URLs.
1714

1815
### Discussions Addressed
1916

20-
1. **Credential Signing Bypass:** Are there alternative methods to skip signing, such as using NoOpSigner(), instead of setting additional Execution attributes?
21-
- Added the use of NoOpSigner() in the design doc.
17+
1. Are there alternative methods to skip signing, such as using NoOpSigner(), instead of setting additional Execution attributes? Added the use of NoOpSigner() in the design doc.
2218

23-
2. **Checksum Support:** Does the S3 response include a checksum? If so, should checksum-related support be implemented in this project, or deferred until after Transfer Manager support is added?
24-
- S3 Response doesn't include checksum.
19+
2. Does the S3 response include a checksum? If so, should checksum-related support be implemented in this project, or deferred until after Transfer Manager support is added? S3 Response doesn't include checksum.
2520

26-
3. **Helper API Naming:** What should we name the Helper API?
27-
- Options include PresignedURLManager or PresignedUrlExtension.
28-
- Will be addressed in the Surface API Review.
21+
3. What should we name the Helper API? Options include PresignedURLManager or PresignedUrlExtension. Will be addressed in the Surface API Review.
2922

3023
## Review Meeting: 06/23/2024
3124
**Attendees**: John, Zoe, Dongie, Bole, Ran, Saranya, Alex, David
3225

3326
### Decisions Addressed
3427

35-
1. **Request Design Pattern:** Should PresignedUrlGetObjectRequest extend S3Request/SdkRequest?
36-
- Decided to use a standalone request class with minimal parameters (presignedUrl, rangeStart, rangeEnd) to avoid exposing incompatible configurations like credentials and signers. Internally convert to S3Request for ClientHandler compatibility.
28+
1. Should PresignedUrlGetObjectRequest extend S3Request/SdkRequest? Decided to use a standalone request class with minimal parameters (presignedUrl, rangeStart, rangeEnd) to avoid exposing incompatible configurations like credentials and signers. Internally convert to S3Request for ClientHandler compatibility.
3729

38-
2. **Endpoint Resolution Bypass:** Replace IS_DISCOVERED_ENDPOINT execution attribute with a more semantically appropriate solution.
39-
- Decided to introduce new SKIP_ENDPOINT_RESOLUTION execution attribute specifically for presigned URL scenarios where endpoint resolution should be bypassed, as IS_DISCOVERED_ENDPOINT is tied to deprecated endpoint discovery feature.
40-
41-
3. **Range Parameter Design:** Use separate rangeStart/rangeEnd fields vs single range string parameter.
42-
- Decided to use separate rangeStart and rangeEnd Long fields for better user experience, as start/end is more intuitive than string parsing.
30+
2. Replace IS_DISCOVERED_ENDPOINT execution attribute with a more semantically appropriate solution. Decided to introduce new SKIP_ENDPOINT_RESOLUTION execution attribute specifically for presigned URL scenarios where endpoint resolution should be bypassed, as IS_DISCOVERED_ENDPOINT is tied to deprecated endpoint discovery feature.
4331

32+
3. Use separate rangeStart/rangeEnd fields vs single range string parameter. Decided to use separate rangeStart and rangeEnd Long fields for better user experience, as start/end is more intuitive than string parsing.

0 commit comments

Comments
 (0)