package com.subgraph.orchid.xmlrpc; import javax.net.SocketFactory; import javax.net.ssl.SSLContext; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcTransport; import org.apache.xmlrpc.client.XmlRpcTransportFactory; import com.subgraph.orchid.TorClient; import com.subgraph.orchid.sockets.OrchidSocketFactory; public class OrchidXmlRpcTransportFactory implements XmlRpcTransportFactory { private final XmlRpcClient client; private final SSLContext sslContext; private final SocketFactory socketFactory; public OrchidXmlRpcTransportFactory(XmlRpcClient client, TorClient torClient) { this(client, torClient, null); } public OrchidXmlRpcTransportFactory(XmlRpcClient client, TorClient torClient, SSLContext sslContext) { this.client = client; this.socketFactory = new OrchidSocketFactory(torClient); this.sslContext = sslContext; } public XmlRpcTransport getTransport() { return new OrchidXmlRpcTransport(client, socketFactory, sslContext); } }