W aplikacji korzystającej z klasycznego groovyx.net.http.HTTPBuilder ustaw trasę na builderze, a konto proxy u dostawcy poświadczeń jego klienta Apache HTTP:

import groovyx.net.http.HTTPBuilder
import org.apache.http.auth.AuthScope
import org.apache.http.auth.UsernamePasswordCredentials

def http = new HTTPBuilder('https://api.example.net')
http.setProxy('proxy.example.net', 8080, 'http')

http.client.credentialsProvider.setCredentials(
    new AuthScope('proxy.example.net', 8080),
    new UsernamePasswordCredentials(proxyUser, proxyPassword)
)

Zmienne poświadczeń pochodzą z aplikacji. AuthScope odpowiada hostowi i portowi proxy skonfigurowanym bezpośrednio powyżej. Kolejne żądania przez ten builder korzystają z tego skonfigurowanego klienta.

Domyślna implementacja klasycznego HTTPBuilder tworzy Apache DefaultHttpClient, a jego publiczna metoda setProxy ustawia domyślną trasę proxy tego klienta. To właściwy obiekt konfiguracji, nawet gdy sama aplikacja działa w Grails lub Tomcacie.

Przykład dotyczy tego klasycznego API. HTTPBuilder-NG ma inny model konfiguracji, a aplikacja zastępująca bazowego klienta klasycznego buildera musi używać interfejsów obsługiwanych przez zamiennik. Nazwę hosta, całkowitoliczbowy port i schemat proxy przechowuj jako osobne wartości podczas wczytywania ich z konfiguracji aplikacji.

Powiązane artykuły