Go ফৰৱাৰ্ড প্ৰক্সিত Proxy-Authorization বিশ্লেষণ কৰক
মূল Authorization হেডাৰ সংৰক্ষণ কৰি Go ফৰৱাৰ্ড প্ৰক্সিত Proxy-Authorization পৃথকভাৱে বিশ্লেষণ কৰক।
Go ফৰৱাৰ্ড প্ৰক্সিত r.BasicAuth এ Authorization পঢ়ে, যিটো গন্তব্য ৱেবছাইটৰ লগইনৰ অন্তৰ্গত। প্ৰক্সিৰ নিজৰ প্ৰমাণপত্ৰ Proxy-Authorization ত আহে।
এটা সৰু এডাপ্টাৰে মূল অনুৰোধ পৰিবৰ্তন নকৰাকৈ ৰাজহুৱা বিশ্লেষক পুনৰ ব্যৱহাৰ কৰিব পাৰে:
func proxyBasicAuth(r *http.Request) (string, string, bool) {
headers := make(http.Header)
headers.Set("Authorization", r.Header.Get("Proxy-Authorization"))
return (&http.Request{Header: headers}).BasicAuth()
}
এই অংশই net/http ব্যৱহাৰ কৰে। ই বিশ্লেষিত মান আৰু বিশ্লেষণ সফল হোৱাৰ সংকেত ঘূৰাই দিয়ে; কিন্তু একাউণ্টটো প্ৰমাণিত নকৰে। ফলাফলটো প্ৰক্সিৰ উদ্দেশ্যপ্ৰণোদিত প্ৰমাণপত্ৰ পৰীক্ষকলৈ পঠিয়াওক।
প্ৰমাণীকৰণ বিফল হ'লে উপযুক্ত Proxy-Authenticate প্ৰত্যাহ্বানসহ 407 ঘূৰাই দিয়ক আৰু সেই অনুৰোধ প্ৰক্ৰিয়া কৰা বন্ধ কৰক। গন্তব্য সংযোগ খোলাৰ বা CONNECT সুৰংগ গ্ৰহণ কৰাৰ আগতে প্ৰমাণীকৰণ কৰক।
প্ৰমাণপত্ৰ গ্ৰহণ কৰাৰ পিছত, সাধাৰণ ফৰৱাৰ্ডিঙৰ আগতে প্ৰক্সিৰ নিজৰ Proxy-Authorization হেডাৰ খৰচ কৰক। মূলৰ বাবে Authorization ক্ষেত্ৰটো সংৰক্ষণ কৰক। ওপৰৰ পিতৃ প্ৰক্সি থাকিলে তাক এই গ্ৰাহক প্ৰমাণপত্ৰ আকস্মিকভাৱে নিদি নিজা সুচিন্তিত প্ৰমাণীকৰণ ব্যৱস্থা দিয়ক।