Një plugin i Jenkins që bën një kërkesë HTTP dalëse mund të përdorë ndihmësin publik të klientit që njeh proxy të 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());

Fragmenti përdor tipet hudson.ProxyConfiguration, java.net.URI dhe java.net.http. Thirrësi trajton hyrjen dhe daljen, si dhe ndërprerjen, përmes rrjedhës normale të plugin-it. Trajtuesi i trupit konsumon dhe hedh trupin e përgjigjes.

newHttpClient dhe ndërfaqja e ndërtuesit të tij janë në dispozicion që nga Jenkins 2.379. Në një JVM kontrolluesi ata zbatojnë konfigurimin e proxy-t të mbështetur nga Jenkins. Ripërdor klientin në vend që të krijosh një të ri për çdo kërkesë.

Kjo shmang kopjimin e emrit dhe fjalëkalimit të proxy-t të ruajtur në kontrollues në një transport të konfiguruar veçmas. Një klient HTTP Java i krijuar veçmas nuk bëhet i vetëdijshëm për proxy thjesht sepse ndërfaqja e kontrolluesit ka një zë proxy.

Për kërkesat që dërgojnë një kokë Authorization drejt destinacionit, shqyrto kufizimin e dokumentuar të proxy-t të autentikuar në Java 17 dhe versionet e mëvonshme. Dokumentacioni e përmend specifikisht këtë kombinim; zgjedhja e këtij ndihmësi nuk e heq atë kufizim të klientit.

Artikuj të ngjashëm