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-ის მხარდაჭერილ პროქსი კონფიგურაციას. ხელახლა გამოიყენეთ კლიენტი, ნაცვლად ყოველი მოთხოვნისთვის ახლის შექმნისა.

ეს თავიდან იცილებს კონტროლერში შენახული პროქსის სახელისა და პაროლის კოპირებას ცალკე კონფიგურირებულ ტრანსპორტში. ცალკე შექმნილი Java HTTP კლიენტი პროქსი-გრძნობიერი არ ხდება მხოლოდ იმიტომ, რომ კონტროლერის ინტერფეისში პროქსის ჩანაწერია.

მოთხოვნებისთვის, რომლებიც მიმართულებას უგზავნიან Authorization თავსართს, გადახედეთ დოკუმენტირებულ ავტორიზებული პროქსის შეზღუდვას Java 17-სა და უფრო ახალ ვერსიებში. დოკუმენტაცია კონკრეტულად აღნიშნავს ამ კომბინაციას; ამ დამხმარის არჩევა არ ხსნის კლიენტის ამ შეზღუდვას.

დაკავშირებული სტატიები