in src/Internal/SetupDecryptionHandler.cs [276:302]
protected void PostInvokeSynchronous(IExecutionContext executionContext, byte[] decryptedEnvelopeKeyKMS)
{
var request = executionContext.RequestContext.Request;
var response = executionContext.ResponseContext.Response;
var initiateMultiPartUploadRequest = request.OriginalRequest as InitiateMultipartUploadRequest;
var initiateMultiPartResponse = response as InitiateMultipartUploadResponse;
if (initiateMultiPartResponse != null)
{
AddMultipartUploadEncryptionContext(initiateMultiPartUploadRequest, initiateMultiPartResponse);
}
var uploadPartRequest = request.OriginalRequest as UploadPartRequest;
var uploadPartResponse = response as UploadPartResponse;
if (uploadPartResponse != null)
{
UpdateMultipartUploadEncryptionContext(uploadPartRequest);
}
var abortMultipartUploadRequest = request.OriginalRequest as AbortMultipartUploadRequest;
var abortMultipartUploadResponse = response as AbortMultipartUploadResponse;
if (abortMultipartUploadResponse != null)
{
//Clear Context data since encryption is aborted
EncryptionClient.CurrentMultiPartUploadKeys.TryRemove(abortMultipartUploadRequest.UploadId, out _);
}
}