fromHttpResponse static method
Implementation
static Future<AuthResponse> fromHttpResponse(Response response) async {
if (response.statusCode >= HttpStatus.badRequest || response.body.isEmpty) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
final result =
jsonDecode(utf8.decode(response.bodyBytes)) as Map<String, dynamic>;
final token = result['data']['shortSession']['value'] as String;
final setCookieString = response.headers['set-cookie'] as String;
final cookieRegex = RegExp(r'cbo_long_session=(\w+);.*');
final refreshToken = cookieRegex.firstMatch(setCookieString);
if (refreshToken == null) {
throw Exception('RefreshToken could not be parsed.');
}
return AuthResponse(
token: token,
refreshToken: refreshToken.group(1)!,
);
}