logout method Null safety
Invalidates current sesssion
Implementation
Future<void> logout() async {
if (token == '') return;
var res = await http
.post(Uri.parse('https://api.mangadex.org/auth/logout'), headers: {
HttpHeaders.authorizationHeader: 'Bearer $token',
HttpHeaders.userAgentHeader: 'mangadex_dart_api/1.0'
});
var data = jsonDecode(res.body);
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 != 200) {
throw 'An error has happened: ${data["errors"][0]["title"]} - ${data["errors"][0]["detail"]}';
}
token = '';
refresh = '';
}