A kimenő HTTP-kérést végző Jenkins-beépülő modul használhatja a Jenkins nyilvános, proxykezelő kliens-segédprogramját:

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());

A részlet a hudson.ProxyConfiguration, a java.net.URI és a java.net.http típusokat használja. A hívó a normál beépülőmodul-folyamatán keresztül kezeli a bemenetet és a kimenetet, valamint a megszakítást. A törzskezelő elfogyasztja és eldobja a válasz törzsét.

A newHttpClient és a hozzá tartozó építőfelület a Jenkins 2.379 óta érhető el. Vezérlő JVM-ben a Jenkins által támogatott proxykonfigurációt alkalmazzák. Használja újra a klienst, ahelyett hogy minden kéréshez újat hozna létre.

Így elkerülhető, hogy a vezérlőben tárolt proxynevet és jelszót egy külön beállított átvitelbe másolják. Egy külön létrehozott Java HTTP-klienst nem tesz proxykezelővé az, hogy a vezérlő felületén van proxybejegyzés.

Azoknál a kéréseknél, amelyek Authorization fejlécet küldenek a célállomásnak, tekintse át a hitelesített proxy dokumentált korlátozását Java 17 és újabb verziók esetén. A dokumentáció kifejezetten erre a kombinációra hívja fel a figyelmet; e segédprogram választása nem szünteti meg ezt a klienskorlátot.

Kapcsolódó cikkek