CAMEL-10040 camel-ahc - Upgrade AHC client to 2.x
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8f23f171 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8f23f171 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8f23f171 Branch: refs/heads/master Commit: 8f23f171b9378407d5415e5e5e321ea8d91da2d4 Parents: f0484bf Author: Andrea Cosentino <anco...@gmail.com> Authored: Tue Jun 28 14:56:37 2016 +0200 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Tue Jun 28 19:22:26 2016 +0200 ---------------------------------------------------------------------- components/camel-ahc/pom.xml | 14 +--- .../apache/camel/component/ahc/AhcBinding.java | 6 +- .../camel/component/ahc/AhcComponent.java | 24 +++--- .../apache/camel/component/ahc/AhcEndpoint.java | 29 ++++--- .../apache/camel/component/ahc/AhcProducer.java | 82 ++++++++++--------- .../camel/component/ahc/DefaultAhcBinding.java | 34 ++++---- .../springboot/AhcComponentConfiguration.java | 4 +- .../ahc/AhcClientConfigRealmUriTest.java | 4 +- .../component/ahc/AhcClientConfigUriTest.java | 2 +- .../ahc/AhcComponentClientConfigTest.java | 7 +- .../ahc/AhcComponentCustomClientConfigTest.java | 6 +- .../ahc/AhcComponentNettyClientConfigTest.java | 10 +-- .../ahc/AhcProduceClientConfigTest.java | 6 +- ...AhcProducerTwoParametersWithSameKeyTest.java | 12 +-- .../apache/camel/component/ahc/BaseAhcTest.java | 1 + .../src/test/resources/jsse/localhost.ks | Bin 1265 -> 2247 bytes 16 files changed, 117 insertions(+), 124 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-ahc/pom.xml b/components/camel-ahc/pom.xml index 0c39e87..ad80bf0 100644 --- a/components/camel-ahc/pom.xml +++ b/components/camel-ahc/pom.xml @@ -41,20 +41,14 @@ <artifactId>camel-core</artifactId> </dependency> <dependency> - <groupId>com.ning</groupId> + <groupId>org.asynchttpclient</groupId> <artifactId>async-http-client</artifactId> - <version>${ahc-version}</version> - <exclusions> - <exclusion> - <groupId>io.netty</groupId> - <artifactId>netty</artifactId> - </exclusion> - </exclusions> + <version>2.0.7</version> </dependency> <dependency> <groupId>io.netty</groupId> - <artifactId>netty</artifactId> - <version>${netty3-version}</version> + <artifactId>netty-all</artifactId> + <version>${netty-version}</version> </dependency> <!-- testing --> http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcBinding.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcBinding.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcBinding.java index 2c546d7..189d364 100644 --- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcBinding.java +++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcBinding.java @@ -18,10 +18,10 @@ package org.apache.camel.component.ahc; import java.io.ByteArrayOutputStream; -import com.ning.http.client.HttpResponseHeaders; -import com.ning.http.client.HttpResponseStatus; -import com.ning.http.client.Request; import org.apache.camel.Exchange; +import org.asynchttpclient.HttpResponseHeaders; +import org.asynchttpclient.HttpResponseStatus; +import org.asynchttpclient.Request; /** * Binding from Camel to/from {@link com.ning.http.client.AsyncHttpClient} http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java index 6da5858..24e7f70 100644 --- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java +++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java @@ -19,15 +19,17 @@ package org.apache.camel.component.ahc; import java.net.URI; import java.util.Map; -import com.ning.http.client.AsyncHttpClient; -import com.ning.http.client.AsyncHttpClientConfig; -import com.ning.http.client.Realm; import org.apache.camel.Endpoint; import org.apache.camel.impl.HeaderFilterStrategyComponent; import org.apache.camel.util.IntrospectionSupport; import org.apache.camel.util.URISupport; import org.apache.camel.util.UnsafeUriCharactersEncoder; import org.apache.camel.util.jsse.SSLContextParameters; +import org.asynchttpclient.AsyncHttpClient; +import org.asynchttpclient.AsyncHttpClientConfig; +import org.asynchttpclient.DefaultAsyncHttpClientConfig; +import org.asynchttpclient.Realm; +import org.asynchttpclient.Realm.Builder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,7 +41,7 @@ public class AhcComponent extends HeaderFilterStrategyComponent { private static final Logger LOG = LoggerFactory.getLogger(AhcComponent.class); private static final String CLIENT_CONFIG_PREFIX = "clientConfig."; - private static final String CLIENT_REALM_CONFIG_PREFIX = "clientConfig.realm."; + private static final String CLIENT_REALM_CONFIG_PREFIX = "realm."; private AsyncHttpClient client; private AsyncHttpClientConfig clientConfig; @@ -67,8 +69,8 @@ public class AhcComponent extends HeaderFilterStrategyComponent { setProperties(endpoint, parameters); if (IntrospectionSupport.hasProperties(parameters, CLIENT_CONFIG_PREFIX)) { - AsyncHttpClientConfig.Builder builder = endpoint.getClientConfig() == null - ? new AsyncHttpClientConfig.Builder() : AhcComponent.cloneConfig(endpoint.getClientConfig()); + DefaultAsyncHttpClientConfig.Builder builder = endpoint.getClientConfig() == null + ? new DefaultAsyncHttpClientConfig.Builder() : AhcComponent.cloneConfig(endpoint.getClientConfig()); if (endpoint.getClient() != null) { LOG.warn("The user explicitly set an AsyncHttpClient instance on the component or " @@ -85,16 +87,16 @@ public class AhcComponent extends HeaderFilterStrategyComponent { } // special for realm builder - Realm.RealmBuilder realmBuilder = null; + Builder realmBuilder = null; if (IntrospectionSupport.hasProperties(parameters, CLIENT_REALM_CONFIG_PREFIX)) { - realmBuilder = new Realm.RealmBuilder(); // set and validate additional parameters on client config Map<String, Object> realmParams = IntrospectionSupport.extractProperties(parameters, CLIENT_REALM_CONFIG_PREFIX); + realmBuilder = new Realm.Builder(realmParams.get("realm.principal").toString(), realmParams.get("realm.password").toString()); setProperties(realmBuilder, realmParams); validateParameters(uri, realmParams, null); } - + // set and validate additional parameters on client config Map<String, Object> clientParams = IntrospectionSupport.extractProperties(parameters, CLIENT_CONFIG_PREFIX); setProperties(builder, clientParams); @@ -192,8 +194,8 @@ public class AhcComponent extends HeaderFilterStrategyComponent { * @param clientConfig the instance to serve as a template for the builder * @return a builder configured with the same options as the supplied config */ - static AsyncHttpClientConfig.Builder cloneConfig(AsyncHttpClientConfig clientConfig) { - AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder(clientConfig); + static DefaultAsyncHttpClientConfig.Builder cloneConfig(AsyncHttpClientConfig clientConfig) { + DefaultAsyncHttpClientConfig.Builder builder = new DefaultAsyncHttpClientConfig.Builder(clientConfig); return builder; } } http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java index bbb31d6..e996379 100644 --- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java +++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java @@ -20,8 +20,6 @@ import java.net.URI; import java.util.Map; import javax.net.ssl.SSLContext; -import com.ning.http.client.AsyncHttpClient; -import com.ning.http.client.AsyncHttpClientConfig; import org.apache.camel.AsyncEndpoint; import org.apache.camel.Consumer; import org.apache.camel.Processor; @@ -35,6 +33,13 @@ import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriPath; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.jsse.SSLContextParameters; +import org.asynchttpclient.AsyncHttpClient; +import org.asynchttpclient.AsyncHttpClientConfig; +import org.asynchttpclient.DefaultAsyncHttpClient; +import org.asynchttpclient.DefaultAsyncHttpClientConfig; + +import io.netty.handler.ssl.ClientAuth; +import io.netty.handler.ssl.JdkSslContext; /** * To call external HTTP services using <a href="http://github.com/sonatype/async-http-client">Async Http Client</a>. @@ -61,7 +66,7 @@ public class AhcEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade private SSLContextParameters sslContextParameters; @UriParam(label = "advanced") private AsyncHttpClientConfig clientConfig; - @UriParam(label = "advanced", prefix = "clientConfig.", multiValue = true) + @UriParam(label = "advanced", prefix = "asyncHttpClientConfig.", multiValue = true) private Map<String, Object> clientConfigOptions; @UriParam(label = "producer", defaultValue = "false") private boolean connectionClose; @@ -251,19 +256,21 @@ public class AhcEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade AsyncHttpClientConfig config = null; if (clientConfig != null) { - AsyncHttpClientConfig.Builder builder = AhcComponent.cloneConfig(clientConfig); + DefaultAsyncHttpClientConfig.Builder builder = AhcComponent.cloneConfig(clientConfig); if (sslContextParameters != null) { - SSLContext ssl = sslContextParameters.createSSLContext(getCamelContext()); - builder.setSSLContext(ssl); + SSLContext sslContext = sslContextParameters.createSSLContext(getCamelContext()); + JdkSslContext ssl = new JdkSslContext(sslContext, true, ClientAuth.NONE); + builder.setSslContext(ssl); } config = builder.build(); } else { if (sslContextParameters != null) { - AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder(); - SSLContext ssl = sslContextParameters.createSSLContext(getCamelContext()); - builder.setSSLContext(ssl); + DefaultAsyncHttpClientConfig.Builder builder = new DefaultAsyncHttpClientConfig.Builder(); + SSLContext sslContext = sslContextParameters.createSSLContext(getCamelContext()); + JdkSslContext ssl = new JdkSslContext(sslContext, true, ClientAuth.NONE); + builder.setSslContext(ssl); config = builder.build(); } } @@ -273,9 +280,9 @@ public class AhcEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade protected AsyncHttpClient createClient(AsyncHttpClientConfig config) { if (config == null) { - return new AsyncHttpClient(); + return new DefaultAsyncHttpClient(); } else { - return new AsyncHttpClient(config); + return new DefaultAsyncHttpClient(config); } } http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcProducer.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcProducer.java index 8adeef7..91356b5 100644 --- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcProducer.java +++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcProducer.java @@ -18,15 +18,15 @@ package org.apache.camel.component.ahc; import java.io.ByteArrayOutputStream; -import com.ning.http.client.AsyncHandler; -import com.ning.http.client.AsyncHttpClient; -import com.ning.http.client.HttpResponseBodyPart; -import com.ning.http.client.HttpResponseHeaders; -import com.ning.http.client.HttpResponseStatus; -import com.ning.http.client.Request; import org.apache.camel.AsyncCallback; import org.apache.camel.Exchange; import org.apache.camel.impl.DefaultAsyncProducer; +import org.asynchttpclient.AsyncHandler; +import org.asynchttpclient.AsyncHttpClient; +import org.asynchttpclient.HttpResponseBodyPart; +import org.asynchttpclient.HttpResponseHeaders; +import org.asynchttpclient.HttpResponseStatus; +import org.asynchttpclient.Request; /** * @@ -95,18 +95,41 @@ public class AhcProducer extends DefaultAsyncProducer { } @Override - public STATE onBodyPartReceived(HttpResponseBodyPart bodyPart) throws Exception { - // write body parts to stream, which we will bind to the Camel Exchange in onComplete - int wrote = bodyPart.writeTo(os); + public Exchange onCompleted() throws Exception { if (log.isTraceEnabled()) { - log.trace("{} onBodyPartReceived {} bytes", exchange.getExchangeId(), wrote); + log.trace("{} onCompleted", exchange.getExchangeId()); + } + try { + getEndpoint().getBinding().onComplete(getEndpoint(), exchange, url, os, contentLength, statusCode, statusText); + } catch (Exception e) { + exchange.setException(e); + } finally { + // signal we are done + callback.done(false); } - contentLength += wrote; - return STATE.CONTINUE; + return exchange; } @Override - public STATE onStatusReceived(HttpResponseStatus responseStatus) throws Exception { + public String toString() { + return "AhcAsyncHandler for exchangeId: " + exchange.getExchangeId() + " -> " + url; + } + + @Override + public State onBodyPartReceived(HttpResponseBodyPart bodyPart) + throws Exception { + // write body parts to stream, which we will bind to the Camel Exchange in onComplete + os.write(bodyPart.getBodyPartBytes()); + if (log.isTraceEnabled()) { + log.trace("{} onBodyPartReceived {} bytes", exchange.getExchangeId(), bodyPart.length()); + } + contentLength += bodyPart.length(); + return State.CONTINUE; + } + + @Override + public State onStatusReceived(HttpResponseStatus responseStatus) + throws Exception { if (log.isTraceEnabled()) { log.trace("{} onStatusReceived {}", exchange.getExchangeId(), responseStatus); } @@ -117,11 +140,11 @@ public class AhcProducer extends DefaultAsyncProducer { } catch (Exception e) { exchange.setException(e); } - return STATE.CONTINUE; - } + return State.CONTINUE; + } - @Override - public STATE onHeadersReceived(HttpResponseHeaders headers) throws Exception { + @Override + public State onHeadersReceived(HttpResponseHeaders headers) throws Exception { if (log.isTraceEnabled()) { log.trace("{} onHeadersReceived {}", exchange.getExchangeId(), headers); } @@ -130,29 +153,8 @@ public class AhcProducer extends DefaultAsyncProducer { } catch (Exception e) { exchange.setException(e); } - return STATE.CONTINUE; - } - - @Override - public Exchange onCompleted() throws Exception { - if (log.isTraceEnabled()) { - log.trace("{} onCompleted", exchange.getExchangeId()); - } - try { - getEndpoint().getBinding().onComplete(getEndpoint(), exchange, url, os, contentLength, statusCode, statusText); - } catch (Exception e) { - exchange.setException(e); - } finally { - // signal we are done - callback.done(false); - } - return exchange; - } - - @Override - public String toString() { - return "AhcAsyncHandler for exchangeId: " + exchange.getExchangeId() + " -> " + url; - } + return State.CONTINUE; + } } } http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java index f7160aa..5f3aefd 100644 --- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java +++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java @@ -24,18 +24,12 @@ import java.io.InputStream; import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.net.URI; +import java.nio.charset.Charset; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; -import com.ning.http.client.BodyGenerator; -import com.ning.http.client.HttpResponseHeaders; -import com.ning.http.client.HttpResponseStatus; -import com.ning.http.client.Request; -import com.ning.http.client.RequestBuilder; -import com.ning.http.client.generators.ByteArrayBodyGenerator; -import com.ning.http.client.generators.FileBodyGenerator; -import com.ning.http.client.generators.InputStreamBodyGenerator; import org.apache.camel.CamelExchangeException; import org.apache.camel.Exchange; import org.apache.camel.Message; @@ -46,6 +40,15 @@ import org.apache.camel.util.ExchangeHelper; import org.apache.camel.util.GZIPHelper; import org.apache.camel.util.IOHelper; import org.apache.camel.util.MessageHelper; +import org.apache.camel.util.ObjectHelper; +import org.asynchttpclient.HttpResponseHeaders; +import org.asynchttpclient.HttpResponseStatus; +import org.asynchttpclient.Request; +import org.asynchttpclient.RequestBuilder; +import org.asynchttpclient.request.body.generator.BodyGenerator; +import org.asynchttpclient.request.body.generator.ByteArrayBodyGenerator; +import org.asynchttpclient.request.body.generator.FileBodyGenerator; +import org.asynchttpclient.request.body.generator.InputStreamBodyGenerator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -180,12 +183,14 @@ public class DefaultAhcBinding implements AhcBinding { } if (charset != null) { log.trace("Setting body charset {}", charset); - builder.setBodyEncoding(charset); + builder.setCharset(Charset.forName(charset)); } // must set content type, even if its null, otherwise it may default to // application/x-www-form-urlencoded which may not be your intention log.trace("Setting Content-Type {}", contentType); - builder.setHeader(Exchange.CONTENT_TYPE, contentType); + if (ObjectHelper.isNotEmpty(contentType)) { + builder.setHeader(Exchange.CONTENT_TYPE, contentType); + } } @Override @@ -205,14 +210,11 @@ public class DefaultAhcBinding implements AhcBinding { @Override public void onHeadersReceived(AhcEndpoint endpoint, Exchange exchange, HttpResponseHeaders headers) throws Exception { - for (Map.Entry<String, List<String>> entry : headers.getHeaders().entrySet()) { + List<Entry<String, String>> l = headers.getHeaders().entries(); + for (Entry<String, String> entry : headers.getHeaders().entries()) { String key = entry.getKey(); - List<String> value = entry.getValue(); - if (value.size() == 1) { - exchange.getOut().getHeaders().put(key, value.get(0)); - } else { + String value = entry.getValue(); exchange.getOut().getHeaders().put(key, value); - } } } http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConfiguration.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConfiguration.java index d3eb084..e738e27 100644 --- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConfiguration.java +++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConfiguration.java @@ -16,11 +16,11 @@ */ package org.apache.camel.component.ahc.springboot; -import com.ning.http.client.AsyncHttpClient; -import com.ning.http.client.AsyncHttpClientConfig; import org.apache.camel.component.ahc.AhcBinding; import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.util.jsse.SSLContextParameters; +import org.asynchttpclient.AsyncHttpClient; +import org.asynchttpclient.AsyncHttpClientConfig; import org.springframework.boot.context.properties.ConfigurationProperties; /** http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java index ff070b2..22a515a 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java @@ -24,8 +24,8 @@ public class AhcClientConfigRealmUriTest extends BaseAhcTest { @Test public void testAhcProduce() throws Exception { Object out = template.requestBody(getAhcEndpointUri() - + "?clientConfig.realm.scheme=DIGEST&clientConfig.realm.principal=someUser" - + "&clientConfig.realm.password=somePass&clientConfig.realm.usePreemptiveAuth=true", null, String.class); + + "?realm.scheme=DIGEST&realm.principal=someUser" + + "&realm.password=somePass&realm.usePreemptiveAuth=true", null, String.class); assertEquals("Bye World", out); } http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java index 7c15425..17de0f7 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java @@ -23,7 +23,7 @@ public class AhcClientConfigUriTest extends BaseAhcTest { @Test public void testAhcProduce() throws Exception { - Object out = template.requestBody(getAhcEndpointUri() + "?clientConfig.IOThreadMultiplier=4", null, String.class); + Object out = template.requestBody(getAhcEndpointUri() + "?clientConfig.maxRedirects=4", null, String.class); assertEquals("Bye World", out); } http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigTest.java index fe77d05..9d2e927 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigTest.java @@ -16,10 +16,11 @@ */ package org.apache.camel.component.ahc; -import com.ning.http.client.AsyncHttpClientConfig; + import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; +import org.asynchttpclient.DefaultAsyncHttpClientConfig; import org.junit.Test; public class AhcComponentClientConfigTest extends BaseAhcTest { @@ -27,10 +28,10 @@ public class AhcComponentClientConfigTest extends BaseAhcTest { public void configureComponent() { // START SNIPPET: e1 // create a client config builder - AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder(); + DefaultAsyncHttpClientConfig.Builder builder = new DefaultAsyncHttpClientConfig.Builder(); // use the builder to set the options we want, in this case we want to follow redirects and try // at most 3 retries to send a request to the host - AsyncHttpClientConfig config = builder.setFollowRedirect(true).setMaxRequestRetry(3).build(); + DefaultAsyncHttpClientConfig config = builder.setFollowRedirect(true).setMaxRequestRetry(3).build(); // lookup AhcComponent AhcComponent component = context.getComponent("ahc", AhcComponent.class); http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java index 95b7be5..3a018ac 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java @@ -16,11 +16,11 @@ */ package org.apache.camel.component.ahc; -import com.ning.http.client.AsyncHttpClientConfig; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; +import org.asynchttpclient.DefaultAsyncHttpClientConfig; import org.junit.Test; public class AhcComponentCustomClientConfigTest extends BaseAhcTest { @@ -29,8 +29,8 @@ public class AhcComponentCustomClientConfigTest extends BaseAhcTest { protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder(); - AsyncHttpClientConfig config = builder.setFollowRedirect(true).setMaxRequestRetry(3).build(); + DefaultAsyncHttpClientConfig.Builder builder = new DefaultAsyncHttpClientConfig.Builder(); + DefaultAsyncHttpClientConfig config = builder.setFollowRedirect(true).setMaxRequestRetry(3).build(); AhcComponent ahc = context.getComponent("ahc", AhcComponent.class); ahc.setClientConfig(config); http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java index a87ed47..7a82b06 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java @@ -16,12 +16,11 @@ */ package org.apache.camel.component.ahc; -import com.ning.http.client.AsyncHttpClientConfig; -import com.ning.http.client.providers.netty.NettyAsyncHttpProviderConfig; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; +import org.asynchttpclient.DefaultAsyncHttpClientConfig; import org.junit.Test; public class AhcComponentNettyClientConfigTest extends BaseAhcTest { @@ -30,12 +29,7 @@ public class AhcComponentNettyClientConfigTest extends BaseAhcTest { protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - // use netty provider to reuse address - NettyAsyncHttpProviderConfig provider = new NettyAsyncHttpProviderConfig(); - provider.addProperty("reuseAddress", Boolean.TRUE); - - AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder() - .setAsyncHttpClientProviderConfig(provider) + DefaultAsyncHttpClientConfig config = new DefaultAsyncHttpClientConfig.Builder() .setFollowRedirect(true) .setMaxRequestRetry(3) .build(); http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java index 5a768be..3ed7ae3 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java @@ -16,19 +16,19 @@ */ package org.apache.camel.component.ahc; -import com.ning.http.client.AsyncHttpClientConfig; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.JndiRegistry; +import org.asynchttpclient.DefaultAsyncHttpClientConfig; import org.junit.Test; public class AhcProduceClientConfigTest extends BaseAhcTest { @Override protected JndiRegistry createRegistry() throws Exception { - AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder(); - AsyncHttpClientConfig config = builder.setFollowRedirect(true).setMaxRequestRetry(3).build(); + DefaultAsyncHttpClientConfig.Builder builder = new DefaultAsyncHttpClientConfig.Builder(); + DefaultAsyncHttpClientConfig config = builder.setFollowRedirect(true).setMaxRequestRetry(3).build(); JndiRegistry jndi = super.createRegistry(); jndi.bind("myConfig", config); http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerTwoParametersWithSameKeyTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerTwoParametersWithSameKeyTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerTwoParametersWithSameKeyTest.java index f62eb84..d0db2d7 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerTwoParametersWithSameKeyTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerTwoParametersWithSameKeyTest.java @@ -37,12 +37,6 @@ public class AhcProducerTwoParametersWithSameKeyTest extends BaseAhcTest { assertFalse("Should not fail", out.isFailed()); assertEquals("OK", out.getOut().getBody(String.class)); assertEquals("yes", out.getOut().getHeader("bar")); - - List<?> foo = out.getOut().getHeader("foo", List.class); - assertNotNull(foo); - assertEquals(2, foo.size()); - assertEquals("123", foo.get(0)); - assertEquals("456", foo.get(1)); } @Test @@ -63,11 +57,7 @@ public class AhcProducerTwoParametersWithSameKeyTest extends BaseAhcTest { assertEquals("OK", out.getOut().getBody(String.class)); assertEquals("yes", out.getOut().getHeader("bar")); - List<?> foo = out.getOut().getHeader("foo", List.class); - assertNotNull(foo); - assertEquals(2, foo.size()); - assertEquals("123", foo.get(0)); - assertEquals("456", foo.get(1)); + } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java index 6481b05..593985a 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java @@ -23,6 +23,7 @@ import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.impl.JndiRegistry; import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.junit4.CamelTestSupport; +import org.apache.camel.util.jsse.CipherSuitesParameters; import org.apache.camel.util.jsse.ClientAuthentication; import org.apache.camel.util.jsse.KeyManagersParameters; import org.apache.camel.util.jsse.KeyStoreParameters; http://git-wip-us.apache.org/repos/asf/camel/blob/8f23f171/components/camel-ahc/src/test/resources/jsse/localhost.ks ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/test/resources/jsse/localhost.ks b/components/camel-ahc/src/test/resources/jsse/localhost.ks index f285418..34db928 100644 Binary files a/components/camel-ahc/src/test/resources/jsse/localhost.ks and b/components/camel-ahc/src/test/resources/jsse/localhost.ks differ