public Builder request() {
checkClosed();
initTargetClientIfNeeded();
ClientProviderFactory pf =
ClientProviderFactory.getInstance(WebClient.getConfig(targetClient).getEndpoint());
List<Object> providers = new LinkedList<Object>();
Configuration cfg = configImpl.getConfiguration();
for (Object p : cfg.getInstances()) {
if (!(p instanceof Feature)) {
Map<Class<?>, Integer> contracts = cfg.getContracts(p.getClass());
if (contracts == null || contracts.isEmpty()) {
providers.add(p);
} else {
providers.add(
new FilterProviderInfo<Object>(p, pf.getBus(), contracts));
}
}
}
pf.setUserProviders(providers);
pf.setDynamicConfiguration(getConfiguration());
WebClient.getConfig(targetClient).getRequestContext().putAll(getConfiguration().getProperties());
WebClient.getConfig(targetClient).getRequestContext().put(Client.class.getName(), ClientImpl.this);
// TLS
TLSClientParameters tlsParams = secConfig.getTlsClientParams();
if (tlsParams.getSSLSocketFactory() != null