resolveRequestCredentials method

FutureOr<List<APICredential>> resolveRequestCredentials(
  1. APIRequest request
)

Implementation

FutureOr<List<APICredential>> resolveRequestCredentials(APIRequest request) {
  var credential = request.credential;
  if (credential == null) {
    return _resolveRequestCredentialsImpl(request, []);
  }

  if (credential.username.isEmpty && credential.hasToken) {
    var tokenKey = credential.token!;
    var sessionID = request.sessionID;

    if (sessionID != null && sessionID.isNotEmpty) {
      return _sessionSet.get(sessionID).resolveMapped((session) {
        var validToken = session?.getValidToken(tokenKey);
        return _resolveRequestCredentialsTokens(
          request,
          credential,
          tokenKey,
          validToken,
        );
      });
    }

    return _resolveRequestCredentialsTokens(
      request,
      credential,
      tokenKey,
      null,
    );
  }

  return _resolveRequestCredentialsImpl(request, [credential]);
}