in releases/go/encryption-sdk/SharedHeaderFunctions/SharedHeaderFunctions.go [302:340]
func (_static *CompanionStruct_Default___) ReadESDKSuiteId(buffer m_SerializeFunctions.ReadableBuffer, mpl *m_MaterialProviders.MaterialProvidersClient) m_Wrappers.Result {
var _0_valueOrError0 m_Wrappers.Result = m_SerializeFunctions.Companion_Default___.Read(buffer, _dafny.IntOfInt64(2))
_ = _0_valueOrError0
if (_0_valueOrError0).IsFailure() {
return (_0_valueOrError0).PropagateFailure()
} else {
var _1_esdkSuiteIdBytes m_SerializeFunctions.SuccessfulRead = (_0_valueOrError0).Extract().(m_SerializeFunctions.SuccessfulRead)
_ = _1_esdkSuiteIdBytes
var _2_valueOrError1 m_Wrappers.Result = ((mpl).GetAlgorithmSuiteInfo((_1_esdkSuiteIdBytes).Dtor_data().(_dafny.Sequence))).MapFailure(func(coer3 func(m_AwsCryptographyMaterialProvidersTypes.Error) m_SerializeFunctions.ReadProblems) func(interface{}) interface{} {
return func(arg4 interface{}) interface{} {
return coer3(arg4.(m_AwsCryptographyMaterialProvidersTypes.Error))
}
}(func(_3___v0 m_AwsCryptographyMaterialProvidersTypes.Error) m_SerializeFunctions.ReadProblems {
return m_SerializeFunctions.Companion_ReadProblems_.Create_Error_(_dafny.SeqOfString("Algorithm suite ID not supported."))
}))
_ = _2_valueOrError1
if (_2_valueOrError1).IsFailure() {
return (_2_valueOrError1).PropagateFailure()
} else {
var _4_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo = (_2_valueOrError1).Extract().(m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo)
_ = _4_suite
var _5_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(_dafny.Companion_Sequence_.Equal((_4_suite).Dtor_binaryId(), (_1_esdkSuiteIdBytes).Dtor_data().(_dafny.Sequence)), m_SerializeFunctions.Companion_ReadProblems_.Create_Error_(_dafny.SeqOfString("Algorithm suite ID not supported.")))
_ = _5_valueOrError2
if (_5_valueOrError2).IsFailure() {
return (_5_valueOrError2).PropagateFailure()
} else {
var _6_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(((_4_suite).Dtor_id()).Is_ESDK(), m_SerializeFunctions.Companion_ReadProblems_.Create_Error_(_dafny.SeqOfString("Algorithm suite ID not supported.")))
_ = _6_valueOrError3
if (_6_valueOrError3).IsFailure() {
return (_6_valueOrError3).PropagateFailure()
} else {
var _7_esdkSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo = _4_suite
_ = _7_esdkSuite
return m_Wrappers.Companion_Result_.Create_Success_(m_SerializeFunctions.Companion_SuccessfulRead_.Create_SuccessfulRead_(_7_esdkSuite, (_1_esdkSuiteIdBytes).Dtor_tail()))
}
}
}
}
}