in src/Internal/SetupDecryptionHandler.cs [52:92]
protected void PostInvoke(IExecutionContext executionContext)
{
using (TelemetryUtilities.CreateSpan(EncryptionClient, Constants.SetupDecryptionHandlerSpanName, null, Amazon.Runtime.Telemetry.Tracing.SpanKind.CLIENT))
{
byte[] encryptedKMSEnvelopeKey;
Dictionary<string, string> encryptionContext;
byte[] decryptedEnvelopeKeyKMS = null;
if (KMSEnvelopeKeyIsPresent(executionContext, out encryptedKMSEnvelopeKey, out encryptionContext))
{
#if NETFRAMEWORK
decryptedEnvelopeKeyKMS = DecryptedEnvelopeKeyKms(encryptedKMSEnvelopeKey, encryptionContext);
#else
decryptedEnvelopeKeyKMS = DecryptedEnvelopeKeyKmsAsync(encryptedKMSEnvelopeKey, encryptionContext).GetAwaiter().GetResult();
#endif
}
var getObjectResponse = executionContext.ResponseContext.Response as GetObjectResponse;
if (getObjectResponse != null)
{
#if NETFRAMEWORK
DecryptObject(decryptedEnvelopeKeyKMS, getObjectResponse);
#else
DecryptObjectAsync(decryptedEnvelopeKeyKMS, getObjectResponse).GetAwaiter().GetResult();
#endif
}
var completeMultiPartUploadRequest = executionContext.RequestContext.Request.OriginalRequest as CompleteMultipartUploadRequest;
var completeMultipartUploadResponse = executionContext.ResponseContext.Response as CompleteMultipartUploadResponse;
if (completeMultipartUploadResponse != null)
{
#if NETFRAMEWORK
CompleteMultipartUpload(completeMultiPartUploadRequest);
#else
CompleteMultipartUploadAsync(completeMultiPartUploadRequest).GetAwaiter().GetResult();
#endif
}
PostInvokeSynchronous(executionContext, decryptedEnvelopeKeyKMS);
}
}