getUser method Null safety
Gets user
Requires user's uuid
Returns Null if not found
Implementation
Future<User?> getUser(String uuid, {bool useLogin = false}) async {
var res;
if (token != '' && useLogin) {
res = await http
.get(Uri.parse('https://api.mangadex.org/user/$uuid'), headers: {
HttpHeaders.authorizationHeader: 'Bearer $token',
HttpHeaders.userAgentHeader: 'mangadex_dart_api/1.0'
});
} else {
res = await http.get(Uri.parse('https://api.mangadex.org/user/$uuid'),
headers: {HttpHeaders.userAgentHeader: 'mangadex_dart_api/1.0'});
}
var data = jsonDecode(res.body)['data'];
if (res.statusCode == 403 && res.headers['X-Captcha-Sitekey'] != null) {
throw CaptchaException(res.headers['X-Captcha-Sitekey'].toString(),
message:
'You need to solve a captcha, check `.sitekey` for the sitekey.');
}
if (res.statusCode == 404) {
return null;
}
var user = User(id: data['id'], username: data['attributes']['username']);
return user;
}