getOrCreateWebFDio function

Future<Dio> getOrCreateWebFDio({
  1. required double contextId,
  2. required Uri uri,
  3. WebFBundle? ownerBundle,
  4. Duration connectTimeout = const Duration(seconds: 30),
  5. Duration receiveTimeout = const Duration(seconds: 60),
  6. Duration sendTimeout = const Duration(seconds: 60),
  7. bool followRedirects = true,
  8. int maxRedirects = 5,
  9. int maxConnectionsPerHost = 15,
  10. String? userAgent,
  11. bool validateStatus(
    1. int? statusCode
    )?,
})

Get a WebF-configured Dio. Returns a shared instance per contextId. When contextId is null, creates a new ephemeral instance.

Implementation

Future<Dio> getOrCreateWebFDio({
  required double contextId,
  required Uri uri,
  WebFBundle? ownerBundle,
  Duration connectTimeout = const Duration(seconds: 30),
  Duration receiveTimeout = const Duration(seconds: 60),
  Duration sendTimeout = const Duration(seconds: 60),
  bool followRedirects = true,
  int maxRedirects = 5,
  int maxConnectionsPerHost = 15,
  String? userAgent,
  bool Function(int? statusCode)? validateStatus,
}) async {
  final dio = await _WebFDioPool.getOrCreate(
    contextId: contextId,
    uri: uri,
    ownerBundle: ownerBundle,
    connectTimeout: connectTimeout,
    receiveTimeout: receiveTimeout,
    sendTimeout: sendTimeout,
    followRedirects: followRedirects,
    maxRedirects: maxRedirects,
    maxConnectionsPerHost: maxConnectionsPerHost,
    userAgent: userAgent,
  );

  // Per-request validateStatus can still be provided via Options in request.
  return dio;
}