Per un'applicazione che usa il groovyx.net.http.HTTPBuilder classico, impostate la rotta sul builder e l'account proxy nel provider di credenziali del suo client 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)
)

Le variabili delle credenziali provengono dall'applicazione. L'AuthScope corrisponde all'host e alla porta del proxy configurati subito sopra. Le richieste successive effettuate tramite questo builder usano quel client configurato.

L'implementazione predefinita del classico HTTPBuilder crea un Apache DefaultHttpClient, e il suo metodo pubblico setProxy imposta la rotta proxy predefinita di quel client. È l'oggetto di configurazione rilevante anche quando l'applicazione stessa viene eseguita dentro Grails o Tomcat.

L'esempio si rivolge a quella API classica. HTTPBuilder-NG ha un modello di configurazione diverso, e un'applicazione che sostituisce il client sottostante del builder classico deve usare le interfacce supportate dal sostituto. Mantenete il nome host, la porta intera e lo schema del proxy come valori separati quando li caricate dalla configurazione dell'applicazione.

Articoli correlati