Korištenje Jenkinsovog HTTP klijenta svjesnog proxyja u dodatku
Izgradite izlazni klijent dodatka kroz Jenkinsov javni ProxyConfiguration pomoćnik umjesto kopiranja sačuvanih polja računa.
Dodatak za Jenkins koji šalje izlazni HTTP zahtjev može koristiti Jenkinsov javni pomoćnik klijenta svjesnog proxyja:
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());
Isječak koristi tipove hudson.ProxyConfiguration, java.net.URI i java.net.http. Pozivalac obrađuje ulaz i izlaz te prekid kroz uobičajeni tok dodatka. Rukovalac tijelom troši i odbacuje tijelo odgovora.
newHttpClient i njegov interfejs graditelja dostupni su od Jenkinsa 2.379. U JVM-u kontrolera primjenjuju Jenkinsovu podržanu proxy konfiguraciju. Ponovo upotrijebite klijent umjesto stvaranja novog za svaki zahtjev.
Time se izbjegava kopiranje imena i lozinke proxyja sačuvanih u kontroleru u zasebno konfigurisan transport. Zasebno stvoren Java HTTP klijent ne postaje svjestan proxyja samo zato što u sučelju kontrolera postoji proxy unos.
Za zahtjeve koji šalju Authorization zaglavlje odredištu, pregledajte dokumentovano ograničenje autentifikovanog proxyja na Javi 17 i novijim. Dokumentacija posebno ukazuje na tu kombinaciju; izbor ovog pomoćnika ne uklanja to ograničenje klijenta.