securitySession method

  1. @override
Future<SessionData?> securitySession(
  1. SessionData? responseData
)
override

Implementation

@override
Future<SessionData?> securitySession(SessionData? responseData) async {
  if (sessionState == SecurityState.REQUEST1) {
    sessionState = SecurityState.RESPONSE1_REQUEST2;
    return await setup0Request();
  }
  if (sessionState == SecurityState.RESPONSE1_REQUEST2) {
    sessionState = SecurityState.RESPONSE2;
    if (responseData == null) {
      throw Exception('Response Data is null, when needed: if-Statement SecurityState.RESPONSE1_REQUEST2');
    }
    await setup0Response(responseData);
    return await setup1Request(responseData);
  }
  if (sessionState == SecurityState.RESPONSE2) {
    sessionState = SecurityState.FINISH;
    if (responseData == null) {
      throw Exception('Response Data is null, when needed: if-Statement SecurityState.RESPONSE2');
    }
    await setup1Response(responseData);
    return null;
  }
  throw Exception('Unexpected state');
}