You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/02/25 18:08:21 UTC

[camel] branch master updated: CAMEL-16262: camel-http - Add disable options on component to turn features off

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 35154b6  CAMEL-16262: camel-http - Add disable options on component to turn features off
35154b6 is described below

commit 35154b63ed206c3738446c84fa9785dc63c81930
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Feb 25 19:06:48 2021 +0100

    CAMEL-16262: camel-http - Add disable options on component to turn features off
---
 .../apache/camel/catalog/docs/http-component.adoc  |   9 +-
 .../component/http/HttpComponentConfigurer.java    |  42 ++++++++
 .../org/apache/camel/component/http/http.json      |   7 ++
 .../org/apache/camel/component/http/https.json     |   7 ++
 .../camel-http/src/main/docs/http-component.adoc   |   9 +-
 .../apache/camel/component/http/HttpComponent.java |  93 ++++++++++++++++
 .../component/dsl/HttpComponentBuilderFactory.java | 120 +++++++++++++++++++++
 .../dsl/HttpsComponentBuilderFactory.java          | 120 +++++++++++++++++++++
 .../modules/ROOT/pages/http-component.adoc         |   9 +-
 9 files changed, 413 insertions(+), 3 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/http-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/http-component.adoc
index 66cfa4b..cc642c4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/http-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/http-component.adoc
@@ -54,7 +54,7 @@ route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
 
 // component options: START
-The HTTP component supports 27 options, which are listed below.
+The HTTP component supports 34 options, which are listed below.
 
 
 
@@ -65,15 +65,22 @@ The HTTP component supports 27 options, which are listed below.
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *responsePayloadStreaming{zwsp}Threshold* (producer) | This threshold in bytes controls whether the response payload should be stored in memory as a byte array or be streaming based. Set this to -1 to always use streaming mode. | 8192 | int
 | *allowJavaSerializedObject* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
+| *authCachingDisabled* (advanced) | Disables authentication scheme caching | false | boolean
+| *automaticRetriesDisabled* (advanced) | Disables automatic request recovery and re-execution | false | boolean
 | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
 | *clientConnectionManager* (advanced) | To use a custom and shared HttpClientConnectionManager to manage connections. If this has been configured then this is always used for all endpoints created by this component. |  | HttpClientConnectionManager
 | *connectionsPerRoute* (advanced) | The maximum number of connections per route. | 20 | int
+| *connectionStateDisabled* (advanced) | Disables connection state tracking | false | boolean
 | *connectionTimeToLive* (advanced) | The time for connection to live, the time unit is millisecond, the default value is always keep alive. |  | long
+| *contentCompressionDisabled* (advanced) | Disables automatic content decompression | false | boolean
+| *cookieManagementDisabled* (advanced) | Disables state (cookie) management | false | boolean
+| *defaultUserAgentDisabled* (advanced) | Disables the default user agent set by this builder if none has been provided by the user | false | boolean
 | *httpBinding* (advanced) | To use a custom HttpBinding to control the mapping between Camel message and HttpClient. |  | HttpBinding
 | *httpClientConfigurer* (advanced) | To use the custom HttpClientConfigurer to perform configuration of the HttpClient that will be used. |  | HttpClientConfigurer
 | *httpConfiguration* (advanced) | To use the shared HttpConfiguration as base configuration. |  | HttpConfiguration
 | *httpContext* (advanced) | To use a custom org.apache.http.protocol.HttpContext when executing requests. |  | HttpContext
 | *maxTotalConnections* (advanced) | The maximum number of connections. | 200 | int
+| *redirectHandlingDisabled* (advanced) | Disables automatic redirect handling | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
 | *proxyAuthDomain* (proxy) | Proxy authentication domain to use |  | String
 | *proxyAuthHost* (proxy) | Proxy authentication host |  | String
diff --git a/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpComponentConfigurer.java b/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpComponentConfigurer.java
index c99b399..4996f9c 100644
--- a/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpComponentConfigurer.java
+++ b/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpComponentConfigurer.java
@@ -23,6 +23,10 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "allowjavaserializedobject":
         case "allowJavaSerializedObject": target.setAllowJavaSerializedObject(property(camelContext, boolean.class, value)); return true;
+        case "authcachingdisabled":
+        case "authCachingDisabled": target.setAuthCachingDisabled(property(camelContext, boolean.class, value)); return true;
+        case "automaticretriesdisabled":
+        case "automaticRetriesDisabled": target.setAutomaticRetriesDisabled(property(camelContext, boolean.class, value)); return true;
         case "autowiredenabled":
         case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
         case "clientconnectionmanager":
@@ -31,12 +35,20 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         case "connectTimeout": target.setConnectTimeout(property(camelContext, int.class, value)); return true;
         case "connectionrequesttimeout":
         case "connectionRequestTimeout": target.setConnectionRequestTimeout(property(camelContext, int.class, value)); return true;
+        case "connectionstatedisabled":
+        case "connectionStateDisabled": target.setConnectionStateDisabled(property(camelContext, boolean.class, value)); return true;
         case "connectiontimetolive":
         case "connectionTimeToLive": target.setConnectionTimeToLive(property(camelContext, long.class, value)); return true;
         case "connectionsperroute":
         case "connectionsPerRoute": target.setConnectionsPerRoute(property(camelContext, int.class, value)); return true;
+        case "contentcompressiondisabled":
+        case "contentCompressionDisabled": target.setContentCompressionDisabled(property(camelContext, boolean.class, value)); return true;
+        case "cookiemanagementdisabled":
+        case "cookieManagementDisabled": target.setCookieManagementDisabled(property(camelContext, boolean.class, value)); return true;
         case "cookiestore":
         case "cookieStore": target.setCookieStore(property(camelContext, org.apache.http.client.CookieStore.class, value)); return true;
+        case "defaultuseragentdisabled":
+        case "defaultUserAgentDisabled": target.setDefaultUserAgentDisabled(property(camelContext, boolean.class, value)); return true;
         case "headerfilterstrategy":
         case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
         case "httpbinding":
@@ -65,6 +77,8 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         case "proxyAuthPort": target.setProxyAuthPort(property(camelContext, java.lang.Integer.class, value)); return true;
         case "proxyauthusername":
         case "proxyAuthUsername": target.setProxyAuthUsername(property(camelContext, java.lang.String.class, value)); return true;
+        case "redirecthandlingdisabled":
+        case "redirectHandlingDisabled": target.setRedirectHandlingDisabled(property(camelContext, boolean.class, value)); return true;
         case "responsepayloadstreamingthreshold":
         case "responsePayloadStreamingThreshold": target.setResponsePayloadStreamingThreshold(property(camelContext, int.class, value)); return true;
         case "sockettimeout":
@@ -84,6 +98,10 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "allowjavaserializedobject":
         case "allowJavaSerializedObject": return boolean.class;
+        case "authcachingdisabled":
+        case "authCachingDisabled": return boolean.class;
+        case "automaticretriesdisabled":
+        case "automaticRetriesDisabled": return boolean.class;
         case "autowiredenabled":
         case "autowiredEnabled": return boolean.class;
         case "clientconnectionmanager":
@@ -92,12 +110,20 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         case "connectTimeout": return int.class;
         case "connectionrequesttimeout":
         case "connectionRequestTimeout": return int.class;
+        case "connectionstatedisabled":
+        case "connectionStateDisabled": return boolean.class;
         case "connectiontimetolive":
         case "connectionTimeToLive": return long.class;
         case "connectionsperroute":
         case "connectionsPerRoute": return int.class;
+        case "contentcompressiondisabled":
+        case "contentCompressionDisabled": return boolean.class;
+        case "cookiemanagementdisabled":
+        case "cookieManagementDisabled": return boolean.class;
         case "cookiestore":
         case "cookieStore": return org.apache.http.client.CookieStore.class;
+        case "defaultuseragentdisabled":
+        case "defaultUserAgentDisabled": return boolean.class;
         case "headerfilterstrategy":
         case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
         case "httpbinding":
@@ -126,6 +152,8 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         case "proxyAuthPort": return java.lang.Integer.class;
         case "proxyauthusername":
         case "proxyAuthUsername": return java.lang.String.class;
+        case "redirecthandlingdisabled":
+        case "redirectHandlingDisabled": return boolean.class;
         case "responsepayloadstreamingthreshold":
         case "responsePayloadStreamingThreshold": return int.class;
         case "sockettimeout":
@@ -146,6 +174,10 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "allowjavaserializedobject":
         case "allowJavaSerializedObject": return target.isAllowJavaSerializedObject();
+        case "authcachingdisabled":
+        case "authCachingDisabled": return target.isAuthCachingDisabled();
+        case "automaticretriesdisabled":
+        case "automaticRetriesDisabled": return target.isAutomaticRetriesDisabled();
         case "autowiredenabled":
         case "autowiredEnabled": return target.isAutowiredEnabled();
         case "clientconnectionmanager":
@@ -154,12 +186,20 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         case "connectTimeout": return target.getConnectTimeout();
         case "connectionrequesttimeout":
         case "connectionRequestTimeout": return target.getConnectionRequestTimeout();
+        case "connectionstatedisabled":
+        case "connectionStateDisabled": return target.isConnectionStateDisabled();
         case "connectiontimetolive":
         case "connectionTimeToLive": return target.getConnectionTimeToLive();
         case "connectionsperroute":
         case "connectionsPerRoute": return target.getConnectionsPerRoute();
+        case "contentcompressiondisabled":
+        case "contentCompressionDisabled": return target.isContentCompressionDisabled();
+        case "cookiemanagementdisabled":
+        case "cookieManagementDisabled": return target.isCookieManagementDisabled();
         case "cookiestore":
         case "cookieStore": return target.getCookieStore();
+        case "defaultuseragentdisabled":
+        case "defaultUserAgentDisabled": return target.isDefaultUserAgentDisabled();
         case "headerfilterstrategy":
         case "headerFilterStrategy": return target.getHeaderFilterStrategy();
         case "httpbinding":
@@ -188,6 +228,8 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         case "proxyAuthPort": return target.getProxyAuthPort();
         case "proxyauthusername":
         case "proxyAuthUsername": return target.getProxyAuthUsername();
+        case "redirecthandlingdisabled":
+        case "redirectHandlingDisabled": return target.isRedirectHandlingDisabled();
         case "responsepayloadstreamingthreshold":
         case "responsePayloadStreamingThreshold": return target.getResponsePayloadStreamingThreshold();
         case "sockettimeout":
diff --git a/components/camel-http/src/generated/resources/org/apache/camel/component/http/http.json b/components/camel-http/src/generated/resources/org/apache/camel/component/http/http.json
index c7ac369..10af0bc 100644
--- a/components/camel-http/src/generated/resources/org/apache/camel/component/http/http.json
+++ b/components/camel-http/src/generated/resources/org/apache/camel/component/http/http.json
@@ -28,15 +28,22 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "responsePayloadStreamingThreshold": { "kind": "property", "displayName": "Response Payload Streaming Threshold", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "description": "This threshold in bytes controls whether the response payload should be stored in memory as a byte array or be streaming based. Set this to -1 to always use streaming mode." },
     "allowJavaSerializedObject": { "kind": "property", "displayName": "Allow Java Serialized Object", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to allow java serialization when a request uses context-type=application\/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will des [...]
+    "authCachingDisabled": { "kind": "property", "displayName": "Auth Caching Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables authentication scheme caching" },
+    "automaticRetriesDisabled": { "kind": "property", "displayName": "Automatic Retries Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables automatic request recovery and re-execution" },
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
     "clientConnectionManager": { "kind": "property", "displayName": "Client Connection Manager", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.http.conn.HttpClientConnectionManager", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared HttpClientConnectionManager to manage connections. If this has been configured then this is always used for all endpoints created by this component." },
     "connectionsPerRoute": { "kind": "property", "displayName": "Connections Per Route", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 20, "description": "The maximum number of connections per route." },
+    "connectionStateDisabled": { "kind": "property", "displayName": "Connection State Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables connection state tracking" },
     "connectionTimeToLive": { "kind": "property", "displayName": "Connection Time To Live", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "description": "The time for connection to live, the time unit is millisecond, the default value is always keep alive." },
+    "contentCompressionDisabled": { "kind": "property", "displayName": "Content Compression Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables automatic content decompression" },
+    "cookieManagementDisabled": { "kind": "property", "displayName": "Cookie Management Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables state (cookie) management" },
+    "defaultUserAgentDisabled": { "kind": "property", "displayName": "Default User Agent Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables the default user agent set by this builder if none has been provided by the user" },
     "httpBinding": { "kind": "property", "displayName": "Http Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.http.common.HttpBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HttpBinding to control the mapping between Camel message and HttpClient." },
     "httpClientConfigurer": { "kind": "property", "displayName": "Http Client Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.http.HttpClientConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "To use the custom HttpClientConfigurer to perform configuration of the HttpClient that will be used." },
     "httpConfiguration": { "kind": "property", "displayName": "Http Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.http.common.HttpConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use the shared HttpConfiguration as base configuration." },
     "httpContext": { "kind": "property", "displayName": "Http Context", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.http.protocol.HttpContext", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.http.protocol.HttpContext when executing requests." },
     "maxTotalConnections": { "kind": "property", "displayName": "Max Total Connections", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 200, "description": "The maximum number of connections." },
+    "redirectHandlingDisabled": { "kind": "property", "displayName": "Redirect Handling Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables automatic redirect handling" },
     "headerFilterStrategy": { "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." },
     "proxyAuthDomain": { "kind": "property", "displayName": "Proxy Auth Domain", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Proxy authentication domain to use" },
     "proxyAuthHost": { "kind": "property", "displayName": "Proxy Auth Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Proxy authentication host" },
diff --git a/components/camel-http/src/generated/resources/org/apache/camel/component/http/https.json b/components/camel-http/src/generated/resources/org/apache/camel/component/http/https.json
index 39e9c0c..f109756 100644
--- a/components/camel-http/src/generated/resources/org/apache/camel/component/http/https.json
+++ b/components/camel-http/src/generated/resources/org/apache/camel/component/http/https.json
@@ -28,15 +28,22 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "responsePayloadStreamingThreshold": { "kind": "property", "displayName": "Response Payload Streaming Threshold", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "description": "This threshold in bytes controls whether the response payload should be stored in memory as a byte array or be streaming based. Set this to -1 to always use streaming mode." },
     "allowJavaSerializedObject": { "kind": "property", "displayName": "Allow Java Serialized Object", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to allow java serialization when a request uses context-type=application\/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will des [...]
+    "authCachingDisabled": { "kind": "property", "displayName": "Auth Caching Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables authentication scheme caching" },
+    "automaticRetriesDisabled": { "kind": "property", "displayName": "Automatic Retries Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables automatic request recovery and re-execution" },
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
     "clientConnectionManager": { "kind": "property", "displayName": "Client Connection Manager", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.http.conn.HttpClientConnectionManager", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared HttpClientConnectionManager to manage connections. If this has been configured then this is always used for all endpoints created by this component." },
     "connectionsPerRoute": { "kind": "property", "displayName": "Connections Per Route", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 20, "description": "The maximum number of connections per route." },
+    "connectionStateDisabled": { "kind": "property", "displayName": "Connection State Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables connection state tracking" },
     "connectionTimeToLive": { "kind": "property", "displayName": "Connection Time To Live", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "description": "The time for connection to live, the time unit is millisecond, the default value is always keep alive." },
+    "contentCompressionDisabled": { "kind": "property", "displayName": "Content Compression Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables automatic content decompression" },
+    "cookieManagementDisabled": { "kind": "property", "displayName": "Cookie Management Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables state (cookie) management" },
+    "defaultUserAgentDisabled": { "kind": "property", "displayName": "Default User Agent Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables the default user agent set by this builder if none has been provided by the user" },
     "httpBinding": { "kind": "property", "displayName": "Http Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.http.common.HttpBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HttpBinding to control the mapping between Camel message and HttpClient." },
     "httpClientConfigurer": { "kind": "property", "displayName": "Http Client Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.http.HttpClientConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "To use the custom HttpClientConfigurer to perform configuration of the HttpClient that will be used." },
     "httpConfiguration": { "kind": "property", "displayName": "Http Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.http.common.HttpConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use the shared HttpConfiguration as base configuration." },
     "httpContext": { "kind": "property", "displayName": "Http Context", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.http.protocol.HttpContext", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.http.protocol.HttpContext when executing requests." },
     "maxTotalConnections": { "kind": "property", "displayName": "Max Total Connections", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 200, "description": "The maximum number of connections." },
+    "redirectHandlingDisabled": { "kind": "property", "displayName": "Redirect Handling Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Disables automatic redirect handling" },
     "headerFilterStrategy": { "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." },
     "proxyAuthDomain": { "kind": "property", "displayName": "Proxy Auth Domain", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Proxy authentication domain to use" },
     "proxyAuthHost": { "kind": "property", "displayName": "Proxy Auth Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Proxy authentication host" },
diff --git a/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index 66cfa4b..cc642c4 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -54,7 +54,7 @@ route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
 
 // component options: START
-The HTTP component supports 27 options, which are listed below.
+The HTTP component supports 34 options, which are listed below.
 
 
 
@@ -65,15 +65,22 @@ The HTTP component supports 27 options, which are listed below.
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *responsePayloadStreaming{zwsp}Threshold* (producer) | This threshold in bytes controls whether the response payload should be stored in memory as a byte array or be streaming based. Set this to -1 to always use streaming mode. | 8192 | int
 | *allowJavaSerializedObject* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
+| *authCachingDisabled* (advanced) | Disables authentication scheme caching | false | boolean
+| *automaticRetriesDisabled* (advanced) | Disables automatic request recovery and re-execution | false | boolean
 | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
 | *clientConnectionManager* (advanced) | To use a custom and shared HttpClientConnectionManager to manage connections. If this has been configured then this is always used for all endpoints created by this component. |  | HttpClientConnectionManager
 | *connectionsPerRoute* (advanced) | The maximum number of connections per route. | 20 | int
+| *connectionStateDisabled* (advanced) | Disables connection state tracking | false | boolean
 | *connectionTimeToLive* (advanced) | The time for connection to live, the time unit is millisecond, the default value is always keep alive. |  | long
+| *contentCompressionDisabled* (advanced) | Disables automatic content decompression | false | boolean
+| *cookieManagementDisabled* (advanced) | Disables state (cookie) management | false | boolean
+| *defaultUserAgentDisabled* (advanced) | Disables the default user agent set by this builder if none has been provided by the user | false | boolean
 | *httpBinding* (advanced) | To use a custom HttpBinding to control the mapping between Camel message and HttpClient. |  | HttpBinding
 | *httpClientConfigurer* (advanced) | To use the custom HttpClientConfigurer to perform configuration of the HttpClient that will be used. |  | HttpClientConfigurer
 | *httpConfiguration* (advanced) | To use the shared HttpConfiguration as base configuration. |  | HttpConfiguration
 | *httpContext* (advanced) | To use a custom org.apache.http.protocol.HttpContext when executing requests. |  | HttpContext
 | *maxTotalConnections* (advanced) | The maximum number of connections. | 200 | int
+| *redirectHandlingDisabled* (advanced) | Disables automatic redirect handling | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
 | *proxyAuthDomain* (proxy) | Proxy authentication domain to use |  | String
 | *proxyAuthHost* (proxy) | Proxy authentication host |  | String
diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
index 5a08987..568c53f 100644
--- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
+++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
@@ -152,6 +152,21 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
               description = "This threshold in bytes controls whether the response payload"
                             + " should be stored in memory as a byte array or be streaming based. Set this to -1 to always use streaming mode.")
     protected int responsePayloadStreamingThreshold = 8192;
+    @Metadata(label = "advanced", description = "Disables automatic redirect handling")
+    private boolean redirectHandlingDisabled;
+    @Metadata(label = "advanced", description = "Disables automatic request recovery and re-execution")
+    private boolean automaticRetriesDisabled;
+    @Metadata(label = "advanced", description = "Disables automatic content decompression")
+    private boolean contentCompressionDisabled;
+    @Metadata(label = "advanced", description = "Disables state (cookie) management")
+    private boolean cookieManagementDisabled;
+    @Metadata(label = "advanced", description = "Disables authentication scheme caching")
+    private boolean authCachingDisabled;
+    @Metadata(label = "advanced", description = "Disables connection state tracking")
+    private boolean connectionStateDisabled;
+    @Metadata(label = "advanced",
+              description = "Disables the default user agent set by this builder if none has been provided by the user")
+    private boolean defaultUserAgentDisabled;
 
     public HttpComponent() {
         this(HttpEndpoint.class);
@@ -419,6 +434,28 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
         // validate that we could resolve all httpClient. parameters as this component is lenient
         validateParameters(uri, httpClientOptions, null);
 
+        if (redirectHandlingDisabled) {
+            clientBuilder.disableRedirectHandling();
+        }
+        if (automaticRetriesDisabled) {
+            clientBuilder.disableRedirectHandling();
+        }
+        if (contentCompressionDisabled) {
+            clientBuilder.disableContentCompression();
+        }
+        if (cookieManagementDisabled) {
+            clientBuilder.disableCookieManagement();
+        }
+        if (authCachingDisabled) {
+            clientBuilder.disableAuthCaching();
+        }
+        if (connectionStateDisabled) {
+            clientBuilder.disableConnectionState();
+        }
+        if (defaultUserAgentDisabled) {
+            clientBuilder.disableDefaultUserAgent();
+        }
+
         return clientBuilder;
     }
 
@@ -777,6 +814,62 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
         this.responsePayloadStreamingThreshold = responsePayloadStreamingThreshold;
     }
 
+    public boolean isRedirectHandlingDisabled() {
+        return redirectHandlingDisabled;
+    }
+
+    public void setRedirectHandlingDisabled(boolean redirectHandlingDisabled) {
+        this.redirectHandlingDisabled = redirectHandlingDisabled;
+    }
+
+    public boolean isAutomaticRetriesDisabled() {
+        return automaticRetriesDisabled;
+    }
+
+    public void setAutomaticRetriesDisabled(boolean automaticRetriesDisabled) {
+        this.automaticRetriesDisabled = automaticRetriesDisabled;
+    }
+
+    public boolean isContentCompressionDisabled() {
+        return contentCompressionDisabled;
+    }
+
+    public void setContentCompressionDisabled(boolean contentCompressionDisabled) {
+        this.contentCompressionDisabled = contentCompressionDisabled;
+    }
+
+    public boolean isCookieManagementDisabled() {
+        return cookieManagementDisabled;
+    }
+
+    public void setCookieManagementDisabled(boolean cookieManagementDisabled) {
+        this.cookieManagementDisabled = cookieManagementDisabled;
+    }
+
+    public boolean isAuthCachingDisabled() {
+        return authCachingDisabled;
+    }
+
+    public void setAuthCachingDisabled(boolean authCachingDisabled) {
+        this.authCachingDisabled = authCachingDisabled;
+    }
+
+    public boolean isConnectionStateDisabled() {
+        return connectionStateDisabled;
+    }
+
+    public void setConnectionStateDisabled(boolean connectionStateDisabled) {
+        this.connectionStateDisabled = connectionStateDisabled;
+    }
+
+    public boolean isDefaultUserAgentDisabled() {
+        return defaultUserAgentDisabled;
+    }
+
+    public void setDefaultUserAgentDisabled(boolean defaultUserAgentDisabled) {
+        this.defaultUserAgentDisabled = defaultUserAgentDisabled;
+    }
+
     @Override
     public void doStart() throws Exception {
         super.doStart();
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpComponentBuilderFactory.java
index aa03d71..baed693 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpComponentBuilderFactory.java
@@ -130,6 +130,38 @@ public interface HttpComponentBuilderFactory {
             return this;
         }
         /**
+         * Disables authentication scheme caching.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param authCachingDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpComponentBuilder authCachingDisabled(
+                boolean authCachingDisabled) {
+            doSetProperty("authCachingDisabled", authCachingDisabled);
+            return this;
+        }
+        /**
+         * Disables automatic request recovery and re-execution.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param automaticRetriesDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpComponentBuilder automaticRetriesDisabled(
+                boolean automaticRetriesDisabled) {
+            doSetProperty("automaticRetriesDisabled", automaticRetriesDisabled);
+            return this;
+        }
+        /**
          * Whether autowiring is enabled. This is used for automatic autowiring
          * options (the option must be marked as autowired) by looking up in the
          * registry to find if there is a single instance of matching type,
@@ -183,6 +215,22 @@ public interface HttpComponentBuilderFactory {
             return this;
         }
         /**
+         * Disables connection state tracking.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param connectionStateDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpComponentBuilder connectionStateDisabled(
+                boolean connectionStateDisabled) {
+            doSetProperty("connectionStateDisabled", connectionStateDisabled);
+            return this;
+        }
+        /**
          * The time for connection to live, the time unit is millisecond, the
          * default value is always keep alive.
          * 
@@ -199,6 +247,55 @@ public interface HttpComponentBuilderFactory {
             return this;
         }
         /**
+         * Disables automatic content decompression.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param contentCompressionDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpComponentBuilder contentCompressionDisabled(
+                boolean contentCompressionDisabled) {
+            doSetProperty("contentCompressionDisabled", contentCompressionDisabled);
+            return this;
+        }
+        /**
+         * Disables state (cookie) management.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param cookieManagementDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpComponentBuilder cookieManagementDisabled(
+                boolean cookieManagementDisabled) {
+            doSetProperty("cookieManagementDisabled", cookieManagementDisabled);
+            return this;
+        }
+        /**
+         * Disables the default user agent set by this builder if none has been
+         * provided by the user.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param defaultUserAgentDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpComponentBuilder defaultUserAgentDisabled(
+                boolean defaultUserAgentDisabled) {
+            doSetProperty("defaultUserAgentDisabled", defaultUserAgentDisabled);
+            return this;
+        }
+        /**
          * To use a custom HttpBinding to control the mapping between Camel
          * message and HttpClient.
          * 
@@ -282,6 +379,22 @@ public interface HttpComponentBuilderFactory {
             return this;
         }
         /**
+         * Disables automatic redirect handling.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param redirectHandlingDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpComponentBuilder redirectHandlingDisabled(
+                boolean redirectHandlingDisabled) {
+            doSetProperty("redirectHandlingDisabled", redirectHandlingDisabled);
+            return this;
+        }
+        /**
          * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
          * header to and from Camel message.
          * 
@@ -536,15 +649,22 @@ public interface HttpComponentBuilderFactory {
             case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
             case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
             case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
+            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
+            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
             case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
             case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.http.conn.HttpClientConnectionManager) value); return true;
             case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
+            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
             case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
+            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
+            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
+            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
             case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
             case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
             case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
             case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.http.protocol.HttpContext) value); return true;
             case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
+            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
             case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
             case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
             case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
index 4d20d49..333d3a5 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
@@ -131,6 +131,38 @@ public interface HttpsComponentBuilderFactory {
             return this;
         }
         /**
+         * Disables authentication scheme caching.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param authCachingDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpsComponentBuilder authCachingDisabled(
+                boolean authCachingDisabled) {
+            doSetProperty("authCachingDisabled", authCachingDisabled);
+            return this;
+        }
+        /**
+         * Disables automatic request recovery and re-execution.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param automaticRetriesDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpsComponentBuilder automaticRetriesDisabled(
+                boolean automaticRetriesDisabled) {
+            doSetProperty("automaticRetriesDisabled", automaticRetriesDisabled);
+            return this;
+        }
+        /**
          * Whether autowiring is enabled. This is used for automatic autowiring
          * options (the option must be marked as autowired) by looking up in the
          * registry to find if there is a single instance of matching type,
@@ -185,6 +217,22 @@ public interface HttpsComponentBuilderFactory {
             return this;
         }
         /**
+         * Disables connection state tracking.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param connectionStateDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpsComponentBuilder connectionStateDisabled(
+                boolean connectionStateDisabled) {
+            doSetProperty("connectionStateDisabled", connectionStateDisabled);
+            return this;
+        }
+        /**
          * The time for connection to live, the time unit is millisecond, the
          * default value is always keep alive.
          * 
@@ -201,6 +249,55 @@ public interface HttpsComponentBuilderFactory {
             return this;
         }
         /**
+         * Disables automatic content decompression.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param contentCompressionDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpsComponentBuilder contentCompressionDisabled(
+                boolean contentCompressionDisabled) {
+            doSetProperty("contentCompressionDisabled", contentCompressionDisabled);
+            return this;
+        }
+        /**
+         * Disables state (cookie) management.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param cookieManagementDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpsComponentBuilder cookieManagementDisabled(
+                boolean cookieManagementDisabled) {
+            doSetProperty("cookieManagementDisabled", cookieManagementDisabled);
+            return this;
+        }
+        /**
+         * Disables the default user agent set by this builder if none has been
+         * provided by the user.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param defaultUserAgentDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpsComponentBuilder defaultUserAgentDisabled(
+                boolean defaultUserAgentDisabled) {
+            doSetProperty("defaultUserAgentDisabled", defaultUserAgentDisabled);
+            return this;
+        }
+        /**
          * To use a custom HttpBinding to control the mapping between Camel
          * message and HttpClient.
          * 
@@ -285,6 +382,22 @@ public interface HttpsComponentBuilderFactory {
             return this;
         }
         /**
+         * Disables automatic redirect handling.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param redirectHandlingDisabled the value to set
+         * @return the dsl builder
+         */
+        default HttpsComponentBuilder redirectHandlingDisabled(
+                boolean redirectHandlingDisabled) {
+            doSetProperty("redirectHandlingDisabled", redirectHandlingDisabled);
+            return this;
+        }
+        /**
          * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
          * header to and from Camel message.
          * 
@@ -539,15 +652,22 @@ public interface HttpsComponentBuilderFactory {
             case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
             case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
             case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
+            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
+            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
             case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
             case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.http.conn.HttpClientConnectionManager) value); return true;
             case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
+            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
             case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
+            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
+            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
+            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
             case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
             case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
             case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
             case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.http.protocol.HttpContext) value); return true;
             case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
+            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
             case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
             case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
             case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
diff --git a/docs/components/modules/ROOT/pages/http-component.adoc b/docs/components/modules/ROOT/pages/http-component.adoc
index 3ed7bdb..6274022 100644
--- a/docs/components/modules/ROOT/pages/http-component.adoc
+++ b/docs/components/modules/ROOT/pages/http-component.adoc
@@ -56,7 +56,7 @@ route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
 
 // component options: START
-The HTTP component supports 27 options, which are listed below.
+The HTTP component supports 34 options, which are listed below.
 
 
 
@@ -67,15 +67,22 @@ The HTTP component supports 27 options, which are listed below.
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *responsePayloadStreaming{zwsp}Threshold* (producer) | This threshold in bytes controls whether the response payload should be stored in memory as a byte array or be streaming based. Set this to -1 to always use streaming mode. | 8192 | int
 | *allowJavaSerializedObject* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
+| *authCachingDisabled* (advanced) | Disables authentication scheme caching | false | boolean
+| *automaticRetriesDisabled* (advanced) | Disables automatic request recovery and re-execution | false | boolean
 | *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
 | *clientConnectionManager* (advanced) | To use a custom and shared HttpClientConnectionManager to manage connections. If this has been configured then this is always used for all endpoints created by this component. |  | HttpClientConnectionManager
 | *connectionsPerRoute* (advanced) | The maximum number of connections per route. | 20 | int
+| *connectionStateDisabled* (advanced) | Disables connection state tracking | false | boolean
 | *connectionTimeToLive* (advanced) | The time for connection to live, the time unit is millisecond, the default value is always keep alive. |  | long
+| *contentCompressionDisabled* (advanced) | Disables automatic content decompression | false | boolean
+| *cookieManagementDisabled* (advanced) | Disables state (cookie) management | false | boolean
+| *defaultUserAgentDisabled* (advanced) | Disables the default user agent set by this builder if none has been provided by the user | false | boolean
 | *httpBinding* (advanced) | To use a custom HttpBinding to control the mapping between Camel message and HttpClient. |  | HttpBinding
 | *httpClientConfigurer* (advanced) | To use the custom HttpClientConfigurer to perform configuration of the HttpClient that will be used. |  | HttpClientConfigurer
 | *httpConfiguration* (advanced) | To use the shared HttpConfiguration as base configuration. |  | HttpConfiguration
 | *httpContext* (advanced) | To use a custom org.apache.http.protocol.HttpContext when executing requests. |  | HttpContext
 | *maxTotalConnections* (advanced) | The maximum number of connections. | 200 | int
+| *redirectHandlingDisabled* (advanced) | Disables automatic redirect handling | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
 | *proxyAuthDomain* (proxy) | Proxy authentication domain to use |  | String
 | *proxyAuthHost* (proxy) | Proxy authentication host |  | String