selfGetAccount method
Implementation
Future<Account?> selfGetAccount() async {
final client = HttpClient();
final url = Uri.parse('$apiBaseUrl/auth/account/');
try {
if (tokenType != TokenType.user) {
print('[Stdoat_ExtraUtils]: selfGetAccount requires a User Token to use.');
return null;
}
final request = await client.getUrl(url);
request.headers.add(authHeaderKey, token);
final response = await request.close();
final responseBody = await response.transform(utf8.decoder).join();
if (response.statusCode == 429) {
print('[Stdoat_ExtraUtils]: 429 - Bot ratelimited.');
return null;
} else if (response.statusCode == 200) {
final data = jsonDecode(responseBody);
return Account.fromJson(data);
} else {
print('[Stdoat_ExtraUtils]: Failed to fetch account. Status code: ${response.statusCode}. Body: $responseBody');
return null;
}
} catch (e) {
print('[Stdoat_ExtraUtils]: An error occured: $e');
return null;
} finally {
client.close();
}
}