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.
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.
final dioClient = Dio();
if (Platform.isIOS || Platform.isMacOS || Platform.isAndroid) {
dioClient.httpClientAdapter = NativeAdapter();
}