У меня есть класс, который оборачивает вызовы http (get, post, delete).
Мне нужно добиться того, чтобы проверить каждый ответ API, чтобы можно было принудительно выйти из системы, если, например, токенсрок действия истек.
Допустим, я вошел в свое приложение и срок действия моего токена истек;Затем я пытаюсь составить список своих сообщений с помощью вызова, подобного следующему:
var results = api.get('http://api.site.com/user/123/posts')
get(String endpoint) async {
return http.get(endpoint,
headers: headers(),
).then((response) {
var result = json.decode(response.body);
if (result['force_logout'] == true) {
UserServices.logout(); // delete secure storage data and other stuff
Navigator.of(context).pushNamedAndRemoveUntil('/login', (Route<dynamic> route) => false);
}
return result;
});
}
В моем методе api get я хотел бы иметь возможность выполнить выход пользователя из системы и перейти кэкран входа в систему, но как я могу сделать это без контекста?