שימוש בלקוח ה-HTTP המודע לפרוקסי של Jenkins בתוספת
בנו את לקוח היציאה של התוספת באמצעות עוזר ה-ProxyConfiguration הציבורי של Jenkins במקום להעתיק שדות חשבון שמורים.
תוספת של Jenkins שמבצעת בקשת HTTP יוצאת יכולה להשתמש בעוזר הלקוח הציבורי המודע לפרוקסי של Jenkins:
HttpClient client = ProxyConfiguration.newHttpClient();
HttpRequest request = ProxyConfiguration.newHttpRequestBuilder(
URI.create("https://service.example/status"))
.GET()
.build();
HttpResponse<Void> response = client.send(
request, HttpResponse.BodyHandlers.discarding());
הקטע משתמש בטיפוסים hudson.ProxyConfiguration, java.net.URI ו-java.net.http. הקורא מטפל בקלט ובפלט ובהפסקה דרך זרימת התוספת הרגילה. מטפל הגוף צורך וזורק את גוף התגובה.
newHttpClient וממשק הבנאי שלו זמינים מאז Jenkins 2.379. ב-JVM של הבקר הם מחילים את תצורת הפרוקסי הנתמכת של Jenkins. השתמשו בלקוח שוב במקום ליצור אחד לכל בקשה.
כך נמנעת העתקת שם הפרוקסי והסיסמה השמורים בבקר אל תעבורה שהוגדרה בנפרד. לקוח HTTP של Java שנוצר בנפרד אינו הופך מודע לפרוקסי רק מפני שבממשק הבקר קיימת רשומת פרוקסי.
עבור בקשות ששולחות כותרת Authorization ליעד, עיינו במגבלה המתועדת של פרוקסי מאומת ב-Java 17 ואילך. התיעוד מציין במפורש שילוב זה; בחירת עוזר זה אינה מסירה את מגבלת הלקוח.