Search in sources :

Example 1 with LocalResteasyProviderFactory

use of org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory in project java by wavefrontHQ.

the class APIContainer method createProviderFactory.

private ResteasyProviderFactory createProviderFactory() {
    ResteasyProviderFactory factory = new LocalResteasyProviderFactory(ResteasyProviderFactory.getInstance());
    factory.registerProvider(JsonNodeWriter.class);
    if (!factory.getClasses().contains(ResteasyJackson2Provider.class)) {
        factory.registerProvider(ResteasyJackson2Provider.class);
    }
    factory.register(GZIPDecodingInterceptor.class);
    if (proxyConfig.isGzipCompression()) {
        WriterInterceptor interceptor = new GZIPEncodingInterceptorWithVariableCompression(proxyConfig.getGzipCompressionLevel());
        factory.register(interceptor);
    } else {
        factory.register(DisableGZIPEncodingInterceptor.class);
    }
    factory.register(AcceptEncodingGZIPFilter.class);
    // add authorization header for all proxy endpoints, except for /checkin - since it's also
    // passed as a parameter, it's creating duplicate headers that cause the entire request to be
    // rejected by nginx. unfortunately, RESTeasy is not smart enough to handle that automatically.
    factory.register((ClientRequestFilter) context -> {
        if ((context.getUri().getPath().contains("/v2/wfproxy") || context.getUri().getPath().contains("/v2/source") || context.getUri().getPath().contains("/event")) && !context.getUri().getPath().endsWith("checkin")) {
            context.getHeaders().add("Authorization", "Bearer " + proxyConfig.getToken());
        }
    });
    return factory;
}
Also used : ResteasyJackson2Provider(org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider) JsonNodeWriter(com.wavefront.agent.JsonNodeWriter) SocketConfig(org.apache.http.config.SocketConfig) GZIPDecodingInterceptor(org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor) GZIPEncodingInterceptorWithVariableCompression(com.wavefront.agent.channel.GZIPEncodingInterceptorWithVariableCompression) RequestConfig(org.apache.http.client.config.RequestConfig) ResteasyClientBuilder(org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder) ResteasyWebTarget(org.jboss.resteasy.client.jaxrs.ResteasyWebTarget) ClientRequestFilter(javax.ws.rs.client.ClientRequestFilter) ResteasyProviderFactory(org.jboss.resteasy.spi.ResteasyProviderFactory) PasswordAuthentication(java.net.PasswordAuthentication) HttpClient(org.apache.http.client.HttpClient) DefaultHttpRequestRetryHandler(org.apache.http.impl.client.DefaultHttpRequestRetryHandler) ApacheHttpClient4Engine(org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine) ResteasyJackson2Provider(org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider) WriterInterceptor(javax.ws.rs.ext.WriterInterceptor) SSLConnectionSocketFactory(org.apache.http.conn.ssl.SSLConnectionSocketFactory) AcceptEncodingGZIPFilter(org.jboss.resteasy.plugins.interceptors.encoding.AcceptEncodingGZIPFilter) ProxyV2API(com.wavefront.api.ProxyV2API) SourceTagAPI(com.wavefront.api.SourceTagAPI) Authenticator(java.net.Authenticator) SSLConnectionSocketFactoryImpl(com.wavefront.agent.SSLConnectionSocketFactoryImpl) HttpRequest(org.apache.http.HttpRequest) TimeUnit(java.util.concurrent.TimeUnit) EventAPI(com.wavefront.api.EventAPI) ProxyConfig(com.wavefront.agent.ProxyConfig) DisableGZIPEncodingInterceptor(com.wavefront.agent.channel.DisableGZIPEncodingInterceptor) ClientHttpEngine(org.jboss.resteasy.client.jaxrs.ClientHttpEngine) ResteasyClient(org.jboss.resteasy.client.jaxrs.ResteasyClient) VisibleForTesting(com.google.common.annotations.VisibleForTesting) HttpClientBuilder(org.apache.http.impl.client.HttpClientBuilder) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory) WriterInterceptor(javax.ws.rs.ext.WriterInterceptor) ResteasyProviderFactory(org.jboss.resteasy.spi.ResteasyProviderFactory) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory) GZIPEncodingInterceptorWithVariableCompression(com.wavefront.agent.channel.GZIPEncodingInterceptorWithVariableCompression)

Example 2 with LocalResteasyProviderFactory

use of org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory in project syndesis by syndesisio.

the class ExternalVerifierService method verify.

@Override
public List<Result> verify(String connectorId, Map<String, String> options) {
    final ResteasyJackson2Provider resteasyJacksonProvider = new ResteasyJackson2Provider();
    resteasyJacksonProvider.setMapper(MAPPER);
    final ResteasyProviderFactory providerFactory = ResteasyProviderFactory.newInstance();
    providerFactory.register(resteasyJacksonProvider);
    final Configuration configuration = new LocalResteasyProviderFactory(providerFactory);
    Client client = ClientBuilder.newClient(configuration);
    WebTarget target = client.target(String.format("http://%s/api/v1/verifier/%s", config.getService(), connectorId));
    return target.request(MediaType.APPLICATION_JSON).post(Entity.entity(options, MediaType.APPLICATION_JSON), new GenericType<List<Result>>() {
    });
}
Also used : ResteasyJackson2Provider(org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider) Configuration(javax.ws.rs.core.Configuration) List(java.util.List) WebTarget(javax.ws.rs.client.WebTarget) ResteasyProviderFactory(org.jboss.resteasy.spi.ResteasyProviderFactory) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory) Client(javax.ws.rs.client.Client)

Example 3 with LocalResteasyProviderFactory

use of org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory in project syndesis by syndesisio.

the class HttpClient method createClient.

/* default */
private Client createClient() {
    final ResteasyJackson2Provider resteasyJacksonProvider = new ResteasyJackson2Provider();
    resteasyJacksonProvider.setMapper(MAPPER);
    final ResteasyProviderFactory providerFactory = ResteasyProviderFactory.newInstance();
    providerFactory.register(resteasyJacksonProvider);
    final Configuration configuration = new LocalResteasyProviderFactory(providerFactory);
    return ClientBuilder.newClient(configuration);
}
Also used : ResteasyJackson2Provider(org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider) Configuration(javax.ws.rs.core.Configuration) ResteasyProviderFactory(org.jboss.resteasy.spi.ResteasyProviderFactory) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory)

Example 4 with LocalResteasyProviderFactory

use of org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory in project syndesis-qe by syndesisio.

the class EndpointClient method getClient.

public static Client getClient(ResteasyJackson2Provider jackson2Provider) {
    final ApacheHttpClient43Engine engine = new ApacheHttpClient43Engine(createAllTrustingClient());
    final ResteasyProviderFactory providerFactory = new LocalResteasyProviderFactory();
    providerFactory.register(jackson2Provider).register(// needed for GET application/octet-stream in PublicAPI to export zip
    new InputStreamProvider()).register(// needed to POST mutipart form data (necessary for API provider + PublicAPI)
    new MultipartFormDataWriter()).register(// needed to serialize text/plain (again for API provider)
    new StringTextStar()).register(new ErrorLogger());
    ResteasyClientBuilder clientBuilder = (ResteasyClientBuilder) ResteasyClientBuilder.newBuilder();
    clientBuilder.providerFactory(providerFactory);
    clientBuilder.httpEngine(engine);
    return clientBuilder.build();
}
Also used : MultipartFormDataWriter(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataWriter) ResteasyClientBuilder(org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder) InputStreamProvider(org.jboss.resteasy.plugins.providers.InputStreamProvider) ResteasyProviderFactory(org.jboss.resteasy.spi.ResteasyProviderFactory) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory) LocalResteasyProviderFactory(org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory) ApacheHttpClient43Engine(org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient43Engine) StringTextStar(org.jboss.resteasy.plugins.providers.StringTextStar)

Aggregations

LocalResteasyProviderFactory (org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory)4 ResteasyProviderFactory (org.jboss.resteasy.spi.ResteasyProviderFactory)4 ResteasyJackson2Provider (org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider)3 Configuration (javax.ws.rs.core.Configuration)2 ResteasyClientBuilder (org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder)2 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 JsonNodeWriter (com.wavefront.agent.JsonNodeWriter)1 ProxyConfig (com.wavefront.agent.ProxyConfig)1 SSLConnectionSocketFactoryImpl (com.wavefront.agent.SSLConnectionSocketFactoryImpl)1 DisableGZIPEncodingInterceptor (com.wavefront.agent.channel.DisableGZIPEncodingInterceptor)1 GZIPEncodingInterceptorWithVariableCompression (com.wavefront.agent.channel.GZIPEncodingInterceptorWithVariableCompression)1 EventAPI (com.wavefront.api.EventAPI)1 ProxyV2API (com.wavefront.api.ProxyV2API)1 SourceTagAPI (com.wavefront.api.SourceTagAPI)1 Authenticator (java.net.Authenticator)1 PasswordAuthentication (java.net.PasswordAuthentication)1 List (java.util.List)1 TimeUnit (java.util.concurrent.TimeUnit)1 Client (javax.ws.rs.client.Client)1 ClientRequestFilter (javax.ws.rs.client.ClientRequestFilter)1