public static <T> T proxy(final Class<T> iface, WebTarget base, final ProxyConfig config) { return builder(iface, base).build(config); }
.proxyBuilder(apiProxyClass) .classloader(apiProxyClass.getClassLoader()) .build();
@Override public <T> T proxy(Class<T> proxyInterface) { client.abortIfClosed(); return createProxyBuilder(proxyInterface, this).build(); }
public static <T> T proxy(final Class<T> iface, WebTarget base, final ProxyConfig config) { return builder(iface, base).build(config); }
public <T> T getClientService(Class<T> clazz) { if (services.containsKey(clazz)) { return (T) services.get(clazz); } T service = ProxyBuilder.builder(clazz, target).build(); services.put(clazz, service); return service; } }
@Override public <T> T proxy(Class<T> proxyInterface) { client.abortIfClosed(); return createProxyBuilder(proxyInterface, this).build(); }
@Override public <T> T proxy(Class<T> proxyInterface) { client.abortIfClosed(); return ProxyBuilder.builder(proxyInterface, this).build(); }
public KubernetesAPI createAPI(URI uri, String userName, String password) { // Configure HttpClient to authenticate preemptively // by prepopulating the authentication data cache. // http://docs.jboss.org/resteasy/docs/3.0.9.Final/userguide/html/RESTEasy_Client_Framework.html#transport_layer // http://hc.apache.org/httpcomponents-client-4.2.x/tutorial/html/authentication.html#d5e1032 HttpHost targetHost = new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()); DefaultHttpClient httpclient = new DefaultHttpClient(); httpclient.getCredentialsProvider().setCredentials( new AuthScope(targetHost.getHostName(), targetHost.getPort()), new UsernamePasswordCredentials(userName, password)); // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(targetHost, basicAuth); // Add AuthCache to the execution context BasicHttpContext localcontext = new BasicHttpContext(); localcontext.setAttribute(ClientContext.AUTH_CACHE, authCache); // 4. Create client executor and proxy ApacheHttpClient4Engine engine = new ApacheHttpClient4Engine(httpclient, localcontext); ResteasyClient client = new ResteasyClientBuilder().connectionPoolSize(connectionPoolSize).httpEngine(engine) .build(); client.register(JacksonJaxbJsonProvider.class).register(JacksonConfig.class); ProxyBuilder<KubernetesAPI> proxyBuilder = client.target(uri).proxyBuilder(KubernetesAPI.class); if (classLoader != null) { proxyBuilder = proxyBuilder.classloader(classLoader); } return proxyBuilder.build(); }
@Override public <T> T proxy(final Class<T> api, final Client client, final URI baseUri) { WebTarget target = client.target(baseUri); return ProxyBuilder.builder(api, target) .classloader(bridgeClassLoaderCache.getUnchecked(api.getClassLoader())) .build(); } }
proxyBuilder.defaultProduces(produces.value()[0]); value = proxyBuilder.build();
public SkeletonKeyClientBuilder idp(WebTarget uri) { admin = (ResteasyWebTarget)uri; WebTarget target = uri.path("tokens"); Mappers.registerContextResolver(target.configuration()); tokenFactory = ProxyBuilder.builder(TokenFactory.class, target).build(); return this; }
proxyBuilder.defaultProduces(produces.value()[0]); value = proxyBuilder.build();
/** * Client side proxy implementation of {@link TriggerRegistry} * * @return * @throws eu.limetri.ygg.client.AuthenticationException */ public TriggerRegistry getTriggerRegistry() throws AuthenticationException { ResteasyClient client = new ResteasyClientBuilder().build(); client.register(new AuthHeadersRequestFilter(getTokenString())); ResteasyWebTarget target = client.target(this.adminUrl); return target.proxyBuilder(TriggerRegistry.class) .defaultConsumes(mediaType).defaultProduces(mediaType).build(); }
/** * Client side proxy implementation of {@link ChannelRegistry} * * @return * @throws eu.limetri.ygg.client.AuthenticationException */ public ChannelRegistry getChannelRegistry() throws AuthenticationException { ResteasyClient client = new ResteasyClientBuilder().build(); client.register(new AuthHeadersRequestFilter(getTokenString())); ResteasyWebTarget target = client.target(this.adminUrl); return target.proxyBuilder(ChannelRegistry.class) .defaultConsumes(mediaType).defaultProduces(mediaType).build(); }
/** * Client side proxy implementation of {@link CapabilityRegistry} * * @return * @throws eu.limetri.ygg.client.AuthenticationException */ public CapabilityTypeRegistry getCapabilityTypeRegistry() throws AuthenticationException { // Client client = ClientBuilder.newBuilder().register(new // VoidReader()).build(); // WebTarget target = client.target(this.baseUrl); // return WebResourceFactory.newResource(CapabilityTypeRegistry.class, // target); ResteasyClient client = new ResteasyClientBuilder().build(); client.register(new AuthHeadersRequestFilter(getTokenString())); ResteasyWebTarget target = client.target(this.adminUrl); return target.proxyBuilder(CapabilityTypeRegistry.class) .defaultConsumes(mediaType).defaultProduces(mediaType).build(); }
/** * client side proxy implementation of {@link BusinessProcessRegistry} * * @return * @throws eu.limetri.ygg.client.AuthenticationException */ public BusinessProcessRegistry getBusinessProcessRegistry() throws AuthenticationException { // Client client = ClientBuilder.newBuilder().register(new // VoidReader()).build(); // WebTarget target = client.target(this.baseUrl); // return WebResourceFactory.newResource(BusinessProcessRegistry.class, // target); ResteasyClient client = new ResteasyClientBuilder().build(); client.register(new AuthHeadersRequestFilter(getTokenString())); ResteasyWebTarget target = client.target(this.adminUrl); return target.proxyBuilder(BusinessProcessRegistry.class) .defaultConsumes(mediaType).defaultProduces(mediaType).build(); }
/** * Client side proxy implementation of {@link CapabilityRegistry} * * @return * @throws eu.limetri.ygg.client.AuthenticationException */ public CapabilityRegistry getCapabilityRegistry() throws AuthenticationException { // Client client = ClientBuilder.newBuilder().register(new // VoidReader()).build(); // WebTarget target = client.target(this.baseUrl); // return WebResourceFactory.newResource(CapabilityRegistry.class, // target); ResteasyClient client = new ResteasyClientBuilder().build(); client.register(new AuthHeadersRequestFilter(getTokenString())); ResteasyWebTarget target = client.target(this.adminUrl); return target.proxyBuilder(CapabilityRegistry.class) .defaultConsumes(mediaType).defaultProduces(mediaType).build(); }
/** * client side proxy implementation of * {@link BusinessProcessTemplateRegistry} * * @return * @throws eu.limetri.ygg.client.AuthenticationException */ public BusinessProcessTemplateRegistry getBusinessProcessTemplateRegistry() throws AuthenticationException { // Client client = ClientBuilder.newBuilder().register(new // VoidReader()).build(); // WebTarget target = client.target(this.baseUrl); // return WebResourceFactory.newResource(BusinessProcessRegistry.class, // target); ResteasyClient client = new ResteasyClientBuilder().build(); client.register(new AuthHeadersRequestFilter(getTokenString())); ResteasyWebTarget target = client.target(this.adminUrl); return target.proxyBuilder(BusinessProcessTemplateRegistry.class) .defaultConsumes(mediaType).defaultProduces(mediaType).build(); }
@Override public <T> T build(Class<T> aClass) throws IllegalStateException, RestClientDefinitionException { // Interface validity verifyInterface(aClass); // Provider annotations RegisterProvider[] providers = aClass.getAnnotationsByType(RegisterProvider.class); for (RegisterProvider provider : providers) { this.builderDelegate.register(provider.value(), provider.priority()); } // Default exception mapper boolean defaultMapperDisabled = false; Object defaultMapperProp = this.builderDelegate.getConfiguration().getProperty(DEFAULT_MAPPER_PROP); if(defaultMapperProp!=null && defaultMapperProp.equals(Boolean.TRUE)) { defaultMapperDisabled = true; } if(!defaultMapperDisabled) { this.builderDelegate.register(DefaultResponseExceptionMapper.class); } ResteasyClient client = this.builderDelegate.build(); return client .target(this.baseURI) .proxyBuilder(aClass) .defaultConsumes(MediaType.TEXT_PLAIN) .defaultProduces(MediaType.TEXT_PLAIN) .build(); }