Go-ის CONNECT სათაურების Transport-ზე განთავსება
გაგზავნეთ საჭირო სათაური HTTP პროქსისთვის CONNECT-ის დროს, დანიშნულების მოთხოვნაზე დაუმატებლად.
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 არის დამუშავებული endpoint URL. სათაური საილუსტრაციოა და მხოლოდ მაშინაა სასარგებლო, როცა პროქსის ოპერატორი ასეთ ველს განსაზღვრავს.
თითოეული პროქსისთვის ან დანიშნულებისთვის არჩეული მნიშვნელობისთვის გამოიყენეთ GetProxyConnectHeader. დოკუმენტირებული callback იღებს პროქსის URL-ს და CONNECT-ის სამიზნეს. როცა ეს callback nil არ არის, სტატიკური ProxyConnectHeader ველი იგნორირდება.
შეინახეთ მნიშვნელობები განსაზღვრულ ფარგლებში. მხოლოდ პროქსისთვის განკუთვნილი ანგარიშის ნიშანი ეკუთვნის პროქსის გაცვლას; ვებსაიტის ავტორიზაციის მნიშვნელობა ეკუთვნის დანიშნულების მოთხოვნას. თუ callback ვერ შექმნის საჭირო handshake მნიშვნელობას, დააბრუნეთ მისი შეცდომა იმის ნაცვლად, რომ ჩუმად გაგზავნოთ სხვაგვარად კონფიგურირებული მოთხოვნა.
ეს პარამეტრები არეგულირებს CONNECT-ის დამუშავებას. ისინი არ იგონებენ საკუთარ ავტორიზაციის პროტოკოლს და არ ცვლიან პროქსის სერვისის წვდომის პოლიტიკას.