Cupertino Http | Coderz Product

cupertino_http

Last updated:

0 purchases

cupertino_http Image
cupertino_http Images

Free

Languages

Categories

Add to Cart

Description:

cupertino http

A macOS/iOS Flutter plugin that provides access to the
Foundation URL Loading System.
Motivation #
Using the Foundation URL Loading System, rather than the socket-based
dart:io HttpClient implementation, has several advantages:

It automatically supports iOS/macOS 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.

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:cupertino_http/cupertino_http.dart';
import 'package:http/http.dart';
import 'package:http/io_client.dart';

void main() async {
final Client httpClient;
if (Platform.isIOS || Platform.isMacOS) {
final config = URLSessionConfiguration.ephemeralSessionConfiguration()
..cache = URLCache.withCapacity(memoryCapacity: 2 * 1024 * 1024)
..httpAdditionalHeaders = {'User-Agent': 'Book Agent'};
httpClient = CupertinoClient.fromSessionConfiguration(config);
} 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'}));
}
copied to clipboard
You can also use the Foundation URL Loading System API directly.
final url = Uri.https(
'www.googleapis.com',
'/books/v1/volumes',
{'q': 'HTTP', 'maxResults': '40', 'printType': 'books'});
final session = URLSession.sharedSession();
final task = session.dataTaskWithCompletionHandler(URLRequest.fromUrl(url),
(data, response, error) {
if (error == null && response!.statusCode == 200) {
print(data!.bytes);
}
});
task.resume();
copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product: (if this is empty don't purchase this product)

Customer Reviews

There are no reviews.