19.05.2022
автор: Илья Кошевой
комментариев: 0

flutter: таймаут выполнения HTTP-запросов для приложения

Стандартная потребность — установить свой таймаут при выполнении HTTP-запросов целиком на всё приложение.

flutter позволяет сделать это быстро и красиво, за счет переопределения метода создания экземпляра HTTP-клиента.

При этом все запросы, выполняемые приложением (даже в подключаемых внешних package/lib), будут использовать установленное значение таймаута.

Например, требуется задать таймаут 30 секунд. Последовательность следующая:

1. Переопределяем метод создания HTTP-клиента.

import 'dart:io';

class AppHttpOverrides extends HttpOverrides {
  @override
  HttpClient createHttpClient(SecurityContext? context) {
    return super.createHttpClient(context)
      ..connectionTimeout = const Duration(seconds: 30);
  }
}

2. Прописываем переопределенный метод при старте приложения.

void main() async {
  HttpOverrides.global = new AppHttpOverrides();
  ...
}

Все запросы, выполняемые приложением, будут отрабатывать с таймаутом 30 секунд.

Готово!

Автор:
Илья Кошевой
Руководитель отдела инновационных разработок
Комментариев: 0
Запись еще никто не комментировал

Добавить комментарий

Ваш адрес email не будет опубликован.

Навигация
Используя данный сайт, вы даете согласие на использование файлов cookie, данных об IP-адресе и местоположении, помогающих нам сделать его удобнее для вас.>