En dart:io HttpClient tager sin proxybeslutning gennem findProxy. Callbacket returnerer et direktiv i PAC-stil:

import 'dart:io';

final client = HttpClient()
  ..findProxy = (_) => 'PROXY proxy.example.net:8080';

Brug denne klient til applikationens anmodninger. At returnere http://proxy.example.net:8080 er det forkerte format til dette callback; PROXY efterfulgt af værten og porten er den understøttede form. Til tilladte offentlige anmodninger tages en HTTP-kandidat fra HTTP-proxylisten, som formateres som netop det direktiv.

Callbacket modtager destinations-URI’en, så det kan returnere DIRECT ved en bevidst omvej. Et resultat som PROXY proxy.example.net:8080; DIRECT tillader også et direkte fallback, når proxyen ikke kan bruges. Udelad DIRECT, når dette fallback ikke ønskes.

Uden en findProxy-funktion bruger dette API direkte forbindelser. Applikationer, der vil vælge ud fra miljøet, kan i stedet tildele HttpClient.findProxyFromEnvironment til callbacket.

Det gælder Flutter-kode, der bruger dart:io på understøttede native platforme. Flutter Web-anmodninger bruger browserens netværksfaciliteter og kræver browserens proxy-politik.

Relaterede artikler