המתודה proxy של Reactor Netty מחזירה את הלקוח המוגדר
שמרו את ה-HttpClient שמוחזר מ-proxy() לפני העברתו ל-ReactorClientHttpConnector; הלקוח המקורי אינו משתנה.
מתודות התצורה של HttpClient ב-Reactor Netty מחזירות הפניה ללקוח מוגדר. אם תזרקו את התוצאה הזו, ההפניה הקודמת נשארת עם ההגדרות הקודמות שלה.
הקוד הזה יוצר תצורת proxy ואז מאבד אותה:
HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
במקום זאת, שמרו את ההפניה המוחזרת:
client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();
הטיפוסים הם HttpClient ו-ProxyProvider של Reactor Netty, וכן WebClient ו-ReactorClientHttpConnector של Spring. שרשור מתודות ישירות מ-HttpClient.create() הוא דרך נוספת לשמור את התצורה המוחזרת. עבור בקשות מותרות ל-API הציבורי, רשימת proxys ה-HTTP מספקת מועמדים עבור המארח והפורט בדוגמה.
אותה בדיקה חלה גם בעת הגדרת פסקי זמן לתגובה או טיפול בהפניות מחדש. קראו את חוזה ההחזרה של המתודה במקום להניח ש-setter משנה את האובייקט המקורי.
עקבו גם אחרי איזו הפניה מגיעה ל-connector. הקצאה מחדש של משתנה מקומי לאחר יצירת connector אינה מחליפה את הלקוח שה-connector כבר קיבל.