Quantcast
Channel: Active questions tagged https - Stack Overflow
Viewing all articles
Browse latest Browse all 1854

flutter version 3.38.2 slow api calls

$
0
0

A dio.get() call that takes only 150 ms with curl blocks for 6–8 seconds on the client side.

The pause happens before Dio prints the first REQUEST log line, so the delay is not caused by DNS, TLS, or the server.

Real clock output:

START2025-11-26 14:20:04.000   *** REQUEST ***     ← appears 6 s late2025-11-26 14:20:04.150   *** RESPONSE ***END 6150 ms

This is the app client class that I use:

import 'dart:io';import 'package:dio/dio.dart';import 'package:dio/io.dart';import 'package:effia_sultan_mobile/core/utils/pref_utils.dart';import 'package:talker_dio_logger/talker_dio_logger_interceptor.dart';import 'package:talker_dio_logger/talker_dio_logger_settings.dart';import 'package:effia_sultan_mobile/injection_container.dart' as di;import '../../config/app_config.dart';class ApiClient {  final Dio dio = createDio();  static Dio createDio() {    PrefUtils prefUtils = di.sl<PrefUtils>();    BaseOptions options = BaseOptions(      baseUrl: AppConfig.shared.baseUrl,      validateStatus: (status) {        return status != null;      },      headers: {'Accept': 'application/json','Content-Type': 'application/json','Cookie': 'x-sultan-token-1=${prefUtils.getToken()}'      },    );    var dio = Dio(options);    dio.httpClientAdapter = IOHttpClientAdapter(      createHttpClient: () {        final HttpClient client =        HttpClient(context: SecurityContext(withTrustedRoots: false));        client.badCertificateCallback =        ((X509Certificate cert, String host, int port) => true);        return client;      },    );    dio.interceptors.add(TalkerDioLogger(      settings: const TalkerDioLoggerSettings(        printRequestHeaders: true,        printResponseHeaders: true,        printResponseMessage: true,      ),    ));    return dio;  }}

Same delay occurs on Android and iOS. There is no proxy, VPN, or Charles.

Dio version: 5.9.0
Flutter version: 3.38.2
Dart SDK version: 3.10.0

What inside Dio can block for several seconds before the socket is opened, and how can I trace or disable it?


Viewing all articles
Browse latest Browse all 1854

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>