Dart ਵਿੱਚ findProxy ਰੂਟਿੰਗ ਹਦਾਇਤ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ
dart:io HttpClient.findProxy ਤੋਂ PROXY host:port ਹਦਾਇਤ ਵਾਪਸ ਕਰੋ ਅਤੇ ਸਿੱਧਾ ਬਦਲਵਾਂ ਰਾਹ ਜਾਣਬੁੱਝ ਕੇ ਚੁਣੋ।
dart:io ਦਾ HttpClient ਆਪਣਾ ਪ੍ਰਾਕਸੀ ਫ਼ੈਸਲਾ findProxy ਰਾਹੀਂ ਲੈਂਦਾ ਹੈ। ਕਾਲਬੈਕ PAC ਸ਼ੈਲੀ ਦੀ ਹਦਾਇਤ ਵਾਪਸ ਕਰਦਾ ਹੈ:
import 'dart:io';
final client = HttpClient()
..findProxy = (_) => 'PROXY proxy.example.net:8080';
ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਬੇਨਤੀਆਂ ਲਈ ਇਹ ਕਲਾਇੰਟ ਵਰਤੋ। http://proxy.example.net:8080 ਵਾਪਸ ਕਰਨਾ ਇਸ ਕਾਲਬੈਕ ਲਈ ਗ਼ਲਤ ਫਾਰਮੈਟ ਹੈ; ਸਮਰਥਿਤ ਰੂਪ PROXY ਹੈ ਜਿਸ ਤੋਂ ਬਾਅਦ ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਆਉਂਦੇ ਹਨ। ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਜਨਤਕ ਬੇਨਤੀਆਂ ਲਈ HTTP ਪ੍ਰਾਕਸੀ ਸੂਚੀ ਤੋਂ HTTP ਉਮੀਦਵਾਰ ਲਵੋ ਅਤੇ ਉਸ ਨੂੰ ਉਹ ਹਦਾਇਤ ਬਣਾ ਕੇ ਢਾਲੋ।
ਕਾਲਬੈਕ ਨੂੰ ਮੰਜ਼ਿਲ URI ਮਿਲਦਾ ਹੈ, ਇਸ ਲਈ ਜਾਣਬੁੱਝ ਕੇ ਬਚਣ ਲਈ DIRECT ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ। PROXY proxy.example.net:8080; DIRECT ਵਰਗਾ ਨਤੀਜਾ ਪ੍ਰਾਕਸੀ ਵਰਤੋਂ ਨਾ ਆਉਣ ਵੇਲੇ ਸਿੱਧਾ ਬਦਲਵਾਂ ਰਾਹ ਵੀ ਮਨਜ਼ੂਰ ਕਰਦਾ ਹੈ। ਜੇ ਉਹ ਬਦਲਵਾਂ ਰਾਹ ਨਹੀਂ ਚਾਹੀਦਾ ਤਾਂ DIRECT ਛੱਡ ਦਿਓ।
findProxy ਫੰਕਸ਼ਨ ਤੋਂ ਬਿਨਾਂ ਇਹ API ਸਿੱਧੇ ਕਨੈਕਸ਼ਨ ਵਰਤਦਾ ਹੈ। ਵਾਤਾਵਰਨ-ਆਧਾਰਿਤ ਚੋਣ ਚਾਹੁਣ ਵਾਲੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕਾਲਬੈਕ ਨੂੰ HttpClient.findProxyFromEnvironment ਦੇ ਸਕਦੀਆਂ ਹਨ।
ਇਹ ਸਮਰਥਿਤ ਨੇਟਿਵ ਪਲੇਟਫਾਰਮਾਂ ਉੱਤੇ dart:io ਵਰਤਣ ਵਾਲੇ Flutter ਕੋਡ ਉੱਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ। Flutter Web ਦੀਆਂ ਬੇਨਤੀਆਂ ਬ੍ਰਾਊਜ਼ਰ ਦੀਆਂ ਨੈੱਟਵਰਕ ਸਹੂਲਤਾਂ ਵਰਤਦੀਆਂ ਹਨ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਪ੍ਰਾਕਸੀ ਨੀਤੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।