האַלט ProxyFromEnvironment ביים צופּאַסן Go's HTTP transport
באַוואָר די אויסוואַל פון פּראָקסי פון דער סבֿיבֿה אין Go ווען דו צופּאַסט צײַט-גרענעצן אָדער פֿאַרבינדונג-פּאָלן, אַנשטאָט פֿאַרבייטן דעם פֿאַרבאַשטימטן מיט אַ ליידיק Proxy פֿעלד.
דער סטאַנדאַרט DefaultTransport פֿון Go שטעלט Proxy אויף ProxyFromEnvironment. אַ באַזונדער געבויטער &http.Transport{} האָט אַ nil Proxy פֿונקציע, וואָס קלייבט נישט קיין פּראָקסי.
דער אונטערשייד קען זיך באַווײַזן נאָך דעם וואָס מע לייגט צו אַ transport בלויז צו ענדערן אַ צײַט-גרענעץ. ווען דער סטאַנדאַרט ווערט נאָך איז אינסטאַלירט, קלאָן אים און ענדער דאָס פֿעלד וואָס דו דאַרפֿסט:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}דער קלאָן באַוואָרט די אויסוואַל פון פּראָקסי פון דער סבֿיבֿה און די איבעריקע פֿאַרבאַשטימטע transport איינשטעלונגען. די טיפּ-פּרופֿונג נעמט אָן אַז די אַפּלאַקיישאַן האָט נישט פֿאַרבייט DefaultTransport מיט אַן אַנדער RoundTripper.
פֿאַר אַ transport וואָס איז מיט כּוונה געבויט פֿון נול, שטעל Proxy: http.ProxyFromEnvironment בפֿירוש ווען דאָס איז זײַן רוטינג-פּאָליטיק. אַן עקספּליציטע ProxyURL פֿונקציע דריקט אויס אַן אַנדער פּאָליטיק: איין אויסגעקליבענער מיטלמאַן.
קאָנפֿיגוריר דעם transport איידער עס ניצן צײַטגלײַכע בקשות, און דערנאָך ניץ אים ווידער פֿאַר דער אַרבעטסלאַסט. ענדערן אַ געמיינזאַם פֿאַרבאַשטימט אָביעקט קען באַײַנפֿלוסן אומפֿאַרבונדענע קליענטן.
צוגעפּאַסטע TLS איינשטעלונגען זײַנען באַזונדער. אָפּשטעלן די פּרופֿונג פֿון צערטיפֿיקאַטן איז נישט נייטיק כּדי צו באַוואָרן פּראָקסי-אויספֿינדונג, און עס וואָלט געענדערט די זיכערהייט פֿון יעדער פּאַסנדיקער HTTPS-בקשה.