Revert "CAMEL-10216: Camel-Http4: Endpoint parameters proxyHost and proxyPort are ignored"
This reverts commit 6329f57caf7ac75994c352c3abd32157847499b9.
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
index 785940b..34161e6 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
@@ -155,16 +155,6 @@
LOG.debug("CamelContext properties http.proxyHost, http.proxyPort, and http.proxyScheme detected. Using http proxy host: {} port: {} scheme: {}", new Object[]{host, port, scheme});
HttpHost proxy = new HttpHost(host, port, scheme);
clientBuilder.setProxy(proxy);
- } else {
- if (ObjectHelper.isNotEmpty(getProxyHost()) && ObjectHelper.isNotEmpty(getProxyPort())) {
- String scheme = getProtocol();
- // fallback and use either http or https depending on secure
- if (scheme == null) {
- scheme = HttpHelper.isSecureConnection(getEndpointUri()) ? "https" : "http";
- }
- HttpHost proxy = new HttpHost(getProxyHost(), getProxyPort(), scheme);
- clientBuilder.setProxy(proxy);
- }
}
} else {
clientBuilder.useSystemProperties();
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/springboot/HttpComponentConfiguration.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/springboot/HttpComponentConfiguration.java
index d9fdf95..c88d77b 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/springboot/HttpComponentConfiguration.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/springboot/HttpComponentConfiguration.java
@@ -60,7 +60,7 @@
* the incoming data from the request to Java and that can be a potential
* security risk.
*/
- private Boolean allowJavaSerializedObject = false;
+ private Boolean allowJavaSerializedObject;
/**
* To use a custom org.apache.http.protocol.HttpContext when executing
* requests.
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpProxyServerEndpointParamsTest.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpProxyServerEndpointParamsTest.java
deleted file mode 100644
index b56bb98..0000000
--- a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpProxyServerEndpointParamsTest.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.http4;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.component.http4.handler.HeaderValidationHandler;
-import org.apache.commons.codec.BinaryDecoder;
-import org.apache.commons.codec.DecoderException;
-import org.apache.commons.codec.binary.Base64;
-import org.apache.http.Header;
-import org.apache.http.HttpException;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpRequestInterceptor;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpResponseInterceptor;
-import org.apache.http.HttpStatus;
-import org.apache.http.ProtocolException;
-import org.apache.http.auth.AUTH;
-import org.apache.http.impl.bootstrap.HttpServer;
-import org.apache.http.impl.bootstrap.ServerBootstrap;
-import org.apache.http.protocol.HttpContext;
-import org.apache.http.protocol.HttpProcessor;
-import org.apache.http.protocol.ImmutableHttpProcessor;
-import org.apache.http.protocol.ResponseContent;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- *
- * @version
- */
-public class HttpProxyServerEndpointParamsTest extends BaseHttpTest {
-
- private HttpServer proxy;
-
- @Before
- @Override
- public void setUp() throws Exception {
- Map<String, String> expectedHeaders = new HashMap<>();
- expectedHeaders.put("Proxy-Connection", "Keep-Alive");
- proxy = ServerBootstrap.bootstrap().
- setHttpProcessor(getBasicHttpProcessor()).
- setConnectionReuseStrategy(getConnectionReuseStrategy()).
- setResponseFactory(getHttpResponseFactory()).
- setExpectationVerifier(getHttpExpectationVerifier()).
- setSslContext(getSSLContext()).
- registerHandler("*", new HeaderValidationHandler("GET", null, null, getExpectedContent(), expectedHeaders)).create();
- proxy.start();
-
- super.setUp();
- }
-
- @After
- @Override
- public void tearDown() throws Exception {
- super.tearDown();
-
- if (proxy != null) {
- proxy.stop();
- }
- }
-
- @Override
- protected HttpProcessor getBasicHttpProcessor() {
- List<HttpRequestInterceptor> requestInterceptors = new ArrayList<HttpRequestInterceptor>();
- requestInterceptors.add(new RequestProxyBasicAuth());
- List<HttpResponseInterceptor> responseInterceptors = new ArrayList<HttpResponseInterceptor>();
- responseInterceptors.add(new ResponseContent());
- responseInterceptors.add(new ResponseProxyBasicUnauthorized());
- ImmutableHttpProcessor httpproc = new ImmutableHttpProcessor(requestInterceptors, responseInterceptors);
- return httpproc;
- }
-
- @Test
- public void httpGetWithProxyAndWithoutUser() throws Exception {
-
- Exchange exchange = template.request("http4://www.google.com?proxyHost=" + getProxyHost() + "&proxyPort=" + getProxyPort(), new Processor() {
- public void process(Exchange exchange) throws Exception {
- }
- });
-
- assertExchange(exchange);
- }
-
- private String getProxyHost() {
- return proxy.getInetAddress().getHostName();
- }
-
- private String getProxyPort() {
- return "" + proxy.getLocalPort();
- }
-
- private static class RequestProxyBasicAuth implements HttpRequestInterceptor {
- public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException {
- String auth = null;
-
- String requestLine = request.getRequestLine().toString();
- // assert we set a write GET URI
- if (requestLine.contains("http4://localhost")) {
- throw new HttpException("Get a wrong proxy GET url");
- }
- Header h = request.getFirstHeader(AUTH.PROXY_AUTH_RESP);
- if (h != null) {
- String s = h.getValue();
- if (s != null) {
- auth = s.trim();
- }
- }
-
- if (auth != null) {
- int i = auth.indexOf(' ');
- if (i == -1) {
- throw new ProtocolException("Invalid Authorization header: " + auth);
- }
- String authscheme = auth.substring(0, i);
- if (authscheme.equalsIgnoreCase("basic")) {
- String s = auth.substring(i + 1).trim();
- byte[] credsRaw = s.getBytes("ASCII");
- BinaryDecoder codec = new Base64();
- try {
- String creds = new String(codec.decode(credsRaw), "ASCII");
- context.setAttribute("proxy-creds", creds);
- } catch (DecoderException ex) {
- throw new ProtocolException("Malformed BASIC credentials");
- }
- }
- }
- }
- }
-
- private static class ResponseProxyBasicUnauthorized implements HttpResponseInterceptor {
- public void process(final HttpResponse response, final HttpContext context) throws HttpException, IOException {
- if (response.getStatusLine().getStatusCode() == HttpStatus.SC_PROXY_AUTHENTICATION_REQUIRED) {
- response.addHeader(AUTH.PROXY_AUTH, "Basic realm=\"test realm\"");
- }
- }
- }
-}