Een geconfigureerde Client heeft geen effect op een ClientResource die nog een andere connector gebruikt. Koppel voor de org.restlet.ext.httpclient-helper van Restlet 2.4.4 de resource aan die client voordat je hem start:

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) is het koppelpunt. De context gebruikt de gedocumenteerde sleutels proxyHost en proxyPort van de helper, waarbij de hostnaam losstaat van het schema en de poort. Stel ze in vóór connector.start(). Voor een openbaar HTTP-eindpunt nemen deze twee velden een adres en poort uit de HTTP-proxylijst.

Dit veronderstelt dat de uitgerolde helper de genoemde Apache-extensie is. Hij kan ook standaardwaarden halen uit JVM http.proxyHost en http.proxyPort; expliciete contextwaarden maken het eindpunt van deze connector zichtbaar.

Het voorbeeld verbruikt de tekstbody, geeft de resource vrij en stopt de connector. Stromend gebruik moet zijn representatie eveneens verbruiken of vrijgeven, zodat gepoolde verbindingen kunnen worden vrijgegeven.

Gerelateerde artikelen