Native Dio Client

pub package likes popularity pub points

Note: Experimental

The underlying technology is still considered experimental, therefore this is also considered experimental.

If you encounter bugs, consider fixing it by opening a PR or at least contribute a failing test case.

A client for Dio which makes use of cupertino_http and cronet_http to delegate HTTP requests to the native platform instead of the dart:io platforms.

Inspired by the Dart 2.18 release blog.

Motivation

Using the native platform implementation, rather than the socket-based dart:io HttpClient implemententation, has several advantages:

  • It automatically supports platform features such VPNs and HTTP proxies.
  • It supports many more configuration options such as only allowing access through WiFi and blocking cookies.
  • It supports more HTTP features such as HTTP/3 and custom redirect handling.

Example

final dioClient = Dio();
if (Platform.isIOS || Platform.isMacOS || Platform.isAndroid) {
  dioClient.httpClientAdapter = NativeAdapter();
}

📣 About the author

  • Twitter Follow
  • GitHub followers

Libraries

native_dio_client