Skip to content

Latest commit

 

History

History

native_dio_adapter

Native Dio Adapter

pub package likes popularity pub points

Note: This uses the native http implementation on macOS, iOS and Android. Other platforms still use the Dart http stack.

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 implementation, 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.

Get started

Install

Add the native_dio_adapter package to your pubspec dependencies.

Example

final dioClient = Dio();
dioClient.httpClientAdapter = NativeAdapter();

Use embedded Cronet

Starting from cronet_http v1.2.0, you can to use the embedded Cronet implementation using a simple configuration with `dart-define. See https://pub.dev/packages/cronet_http#use-embedded-cronet for more details.

📣 About the author

  • Twitter Follow
  • GitHub followers