Ha az alkalmazás a klasszikus groovyx.net.http.HTTPBuilder-et használja, állítsa be az útvonalat a builderben, a proxyfiókot pedig az Apache HTTP-kliens hitelesítőadat-szolgáltatójában:

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

A hitelesítőadat-változók az alkalmazásból származnak. Az AuthScope a közvetlenül fentebb beállított proxyhoszthoz és -porthoz illeszkedik. A builderrel ezután indított kérések ezt a beállított klienst használják.

A klasszikus HTTPBuilder alapértelmezett megvalósítása Apache DefaultHttpClientet hoz létre, nyilvános setProxy metódusa pedig beállítja az adott kliens alapértelmezett proxyútvonalát. Ez a releváns konfigurációs objektum akkor is, amikor maga az alkalmazás Grailsben vagy Tomcatben fut.

A példa erre a klasszikus API-ra irányul. A HTTPBuilder-NG más konfigurációs modellel rendelkezik, és annak az alkalmazásnak, amely lecseréli a klasszikus builder mögötti klienst, a csere által támogatott felületeket kell használnia. A hosztnevet, az egész portot és a proxy sémáját tartsa külön értékként, amikor az alkalmazáskonfigurációból tölti be őket.

Kapcsolódó cikkek