getSession method
Implementation
Future<Session?> getSession({
required ApiClient apiClient,
bool forceRefresh = false,
}) async {
var session = _session;
if (session == null) {
return null;
}
if (!forceRefresh && !_hasExpired(session.expiresAt)) {
return session;
}
try {
session = await apiClient.refreshSession(
sessionId: session.id,
refreshToken: session.refreshToken,
);
} on ApiError catch (_) {
await clearSession();
return null;
}
await _writeSession(session);
_session = session;
return session;
}