findProxy trong Dart mong đợi một chỉ thị định tuyến
Trả về chỉ thị PROXY host:port từ dart:io HttpClient.findProxy và chủ động chọn đường dự phòng trực tiếp.
HttpClient của dart:io nhận quyết định proxy thông qua findProxy. Hàm gọi lại trả về một chỉ thị kiểu PAC:
import 'dart:io';
final client = HttpClient()
..findProxy = (_) => 'PROXY proxy.example.net:8080';
Dùng client này cho các yêu cầu của ứng dụng. Trả về http://proxy.example.net:8080 là sai định dạng cho hàm gọi lại này; dạng được hỗ trợ là PROXY theo sau là máy chủ và cổng. Với các yêu cầu công khai được phép, lấy một ứng viên HTTP từ danh sách proxy HTTP và định dạng nó thành chỉ thị đó.
Hàm gọi lại nhận URI đích, nên có thể trả về DIRECT cho một lần bỏ qua có chủ đích. Kết quả như PROXY proxy.example.net:8080; DIRECT cũng cho phép dự phòng trực tiếp khi không dùng được proxy. Bỏ DIRECT khi không muốn dự phòng đó.
Không có hàm findProxy, API này dùng kết nối trực tiếp. Ứng dụng muốn chọn theo môi trường có thể gán HttpClient.findProxyFromEnvironment cho hàm gọi lại.
Điều này áp dụng cho mã Flutter dùng dart:io trên các nền tảng gốc được hỗ trợ. Yêu cầu của Flutter Web dùng khả năng mạng của trình duyệt và cần chính sách proxy của trình duyệt.