Class S3ExpressChecksumInterceptor
- java.lang.Object
-
- software.amazon.awssdk.services.s3.internal.handlers.S3ExpressChecksumInterceptor
-
- All Implemented Interfaces:
ExecutionInterceptor
public final class S3ExpressChecksumInterceptor extends Object implements ExecutionInterceptor
S3Express has different checksum requirements compared to standard S3 calls. This interceptor modifies checksums only for S3Express calls.Checksums can be configured through model traits on operations as follows
- httpChecksumRequired - older setting used in S3Control -> not allowed
- httpChecksum is set and required -> always add CRC32 checksum even if algorithm is not specified.
- httpChecksum is set but not required -> if algorithm is not specified, behavior differs
Note that, if httpChecksum is not present, no checksum may be calculated. PutBucketPolicy, DeleteObjects are examples of operations that require checksums. PutObject, UploadPart are examples of operations that do not require checksums.
Special cases
- PutObject -> always calculate CRC32
- UploadPart -> do not calculate CRC32 if algorithm is missing, unless TM is used
-
-
Constructor Summary
Constructors Constructor Description S3ExpressChecksumInterceptor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SdkHttpRequest
modifyHttpRequest(Context.ModifyHttpRequest context, ExecutionAttributes executionAttributes)
SdkRequest
modifyRequest(Context.ModifyRequest context, ExecutionAttributes executionAttributes)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.core.interceptor.ExecutionInterceptor
afterExecution, afterMarshalling, afterTransmission, afterUnmarshalling, beforeExecution, beforeMarshalling, beforeTransmission, beforeUnmarshalling, modifyAsyncHttpContent, modifyAsyncHttpResponseContent, modifyException, modifyHttpContent, modifyHttpResponse, modifyHttpResponseContent, modifyResponse, onExecutionFailure
-
-
-
-
Method Detail
-
modifyRequest
public SdkRequest modifyRequest(Context.ModifyRequest context, ExecutionAttributes executionAttributes)
- Specified by:
modifyRequest
in interfaceExecutionInterceptor
-
modifyHttpRequest
public SdkHttpRequest modifyHttpRequest(Context.ModifyHttpRequest context, ExecutionAttributes executionAttributes)
- Specified by:
modifyHttpRequest
in interfaceExecutionInterceptor
-
-