0 purchases
cronet http
An Android Flutter plugin that provides access to the
Cronet HTTP client.
Cronet is available as part of Google Play Services
and as a standalone embedded library.
This package depends on Google Play Services
for its Cronet implementation.
To use the embedded version of Cronet without Google Play Services,
see Use embedded Cronet.
Motivation #
Using Cronet, rather than the socket-based
dart:io HttpClient implementation, has several advantages:
It automatically supports Android platform features such as HTTP proxies.
It supports configurable caching.
It supports more HTTP features such as HTTP/3.
Using #
The easiest way to use this library is via the high-level interface
defined by package:http Client.
This approach allows the same HTTP code to be used on all platforms, while
still allowing platform-specific setup.
import 'package:cronet_http/cronet_http.dart';
import 'package:http/http.dart';
import 'package:http/io_client.dart';
void main() async {
final Client httpClient;
if (Platform.isAndroid) {
final engine = CronetEngine.build(
cacheMode: CacheMode.memory,
cacheMaxSize: 2 * 1024 * 1024,
userAgent: 'Book Agent');
httpClient = CronetClient.fromCronetEngine(engine, closeEngine: true);
} else {
httpClient = IOClient(HttpClient()..userAgent = 'Book Agent');
}
final response = await client.get(
Uri.https(
'www.googleapis.com',
'/books/v1/volumes',
{'q': 'HTTP', 'maxResults': '40', 'printType': 'books'},
),
);
httpClient.close();
}
copied to clipboard
Use embedded Cronet #
If you want your application to work without Google Play Services,
you can instead depend on the org.chromium.net:cronet-embedded package
by using dart-define to set cronetHttpNoPlay is set to true.
For example:
flutter run --dart-define=cronetHttpNoPlay=true
copied to clipboard
To use the embedded version in flutter test:
flutter test --dart-define=cronetHttpNoPlay=true
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.