Un Client configurato non ha alcun effetto su un ClientResource che usa ancora un altro connettore. Per l'helper org.restlet.ext.httpclient di Restlet 2.4.4, collega la risorsa a quel client prima di avviarlo:

Client connector = new Client(new Context(), Protocol.HTTPS);
connector.getContext().getParameters().set("proxyHost", "proxy.example");
connector.getContext().getParameters().set("proxyPort", "8080");

ClientResource resource = new ClientResource(
    "https://service.example/status");
resource.setNext(connector);
connector.start();
try {
    String body = resource.get().getText();
} finally {
    resource.release();
    connector.stop();
}

setNext(connector) è il punto di collegamento. Il contesto usa le chiavi documentate dell'helper proxyHost e proxyPort, con il nome host separato dallo schema e dalla porta. Impostale prima di connector.start(). Per un endpoint HTTP pubblico, questi due campi prendono un indirizzo e una porta dalla lista di proxy HTTP.

Ciò presuppone che l'helper distribuito sia l'estensione Apache indicata. Può anche ottenere valori predefiniti dalle proprietà JVM http.proxyHost e http.proxyPort; valori di contesto espliciti rendono visibile l'endpoint di questo connettore.

L'esempio consuma il corpo testuale, rilascia la risorsa e arresta il connettore. Anche un uso in streaming deve consumare o rilasciare la propria rappresentazione affinché le connessioni in pool possano essere rilasciate.

Articoli correlati