Դրեք Go-ի CONNECT վերնագրերը Transport-ի վրա
CONNECT-ի ընթացքում պահանջվող վերնագիրն ուղարկեք HTTP վստահված սպասարկիչին՝ առանց այն նպատակակետի հարցումին դնելու։
http.Request.Header-ին ավելացված վերնագիրը նկարագրում է նպատակակետի հարցումը։ Երբ HTTPS-ը օգտագործում է HTTP վստահված սպասարկիչ, transport-ը նախ կատարում է CONNECT։ Նպատակակետի հարցման վերնագրերը այդ ավելի վաղ փոխանակման համար ընդհանուր կարգավորման API չեն։
Եթե ձեր վստահված սպասարկիչը պահանջում է ստատիկ վերնագիր, կարգավորեք transport-ի ProxyConnectHeader-ը․
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Այստեղ proxyURL-ը վերլուծված վերջնակետի URL-ն է։ Վերնագիրը օրինակելի է և օգտակար է միայն այն դեպքում, երբ վստահված սպասարկիչի օպերատորը սահմանում է այդպիսի դաշտ։
Յուրաքանչյուր վստահված սպասարկիչի կամ նպատակակետի համար ընտրվող արժեքի համար օգտագործեք GetProxyConnectHeader-ը։ Փաստաթղթավորված հետադարձ կանչը ստանում է վստահված սպասարկիչի URL-ը և CONNECT թիրախը։ Երբ այս հետադարձ կանչը nil չէ, ստատիկ ProxyConnectHeader դաշտը անտեսվում է։
Արժեքները պահեք նախատեսված սահմանում։ Միայն վստահված սպասարկիչի համար նախատեսված հաշվի նշիչը պատկանում է վստահված սպասարկիչի փոխանակմանը․ կայքի թույլտվության արժեքը պատկանում է նպատակակետի հարցումին։ Եթե հետադարձ կանչը չի կարող արտադրել պահանջվող ձեռքսեղմման արժեքը, վերադարձրեք դրա սխալը՝ փոխարենը լռությամբ այլ կերպ կարգավորված հարցում ուղարկելու։
Այս պարամետրերը հարմարեցնում են CONNECT-ի մշակումը։ Դրանք չեն ստեղծում սեփական նույնականացման արձանագրություն և չեն փոխում վստահված սպասարկիչի ծառայության մուտքի քաղաքականությունը։