getUser method Null safety

Future<User?> getUser(
  1. String uuid,
  2. {bool useLogin = false}
)

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;
}