func()

in releases/go/encryption-sdk/EncryptDecryptHelpers/EncryptDecryptHelpers.go [878:914]


func (_static *CompanionStruct_Default___) ReadAndDecryptFramedMessageBody(buffer m_SerializeFunctions.ReadableBuffer, header m_Header.HeaderInfo, key _dafny.Sequence, crypto *m_AtomicPrimitives.AtomicPrimitivesClient) m_Wrappers.Result {
	var res m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf(_dafny.EmptySeq, m_SerializeFunctions.Companion_ReadableBuffer_.Default()))
	_ = res
	var _0_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{}
	_ = _0_valueOrError0
	_0_valueOrError0 = (m_MessageBody.Companion_Default___.ReadFramedMessageBody(buffer, header, _dafny.SeqOf(), buffer)).MapFailure(func(coer28 func(m_SerializeFunctions.ReadProblems) m_AwsCryptographyEncryptionSdkTypes.Error) func(interface{}) interface{} {
		return func(arg29 interface{}) interface{} {
			return coer28(arg29.(m_SerializeFunctions.ReadProblems))
		}
	}(Companion_Default___.MapSerializeFailure(_dafny.SeqOfString(": ReadFramedMessageBody"))))
	if (_0_valueOrError0).IsFailure() {
		res = (_0_valueOrError0).PropagateFailure()
		return res
	}
	var _1_messageBody m_SerializeFunctions.SuccessfulRead
	_ = _1_messageBody
	_1_messageBody = (_0_valueOrError0).Extract().(m_SerializeFunctions.SuccessfulRead)
	var _2_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq)
	_ = _2_valueOrError1
	var _out0 m_Wrappers.Result
	_ = _out0
	_out0 = m_MessageBody.Companion_Default___.DecryptFramedMessageBody((_1_messageBody).Dtor_data().(m_MessageBody.FramedMessageBody), key, crypto)
	_2_valueOrError1 = _out0
	if (_2_valueOrError1).IsFailure() {
		res = (_2_valueOrError1).PropagateFailure()
		return res
	}
	var _3_plaintext _dafny.Sequence
	_ = _3_plaintext
	_3_plaintext = (_2_valueOrError1).Extract().(_dafny.Sequence)
	var _4_messageBodyTail m_SerializeFunctions.ReadableBuffer
	_ = _4_messageBodyTail
	_4_messageBodyTail = (_1_messageBody).Dtor_tail()
	res = m_Wrappers.Companion_Result_.Create_Success_(_dafny.TupleOf(_3_plaintext, _4_messageBodyTail))
	return res
	return res
}