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 2020/08/10 15:50:25 UTC

[camel] branch master updated (b0c5677 -> 2b8a53b)

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

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


    from b0c5677  CAMEL-13934: Polished and regen
     new d15fe24  CAMEL-15384: camel-http - Allow to configure http proxy on component level
     new 2b8a53b  CAMEL-15384: camel-http - Allow to configure http proxy on component level

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/camel/catalog/components/http.json  |  8 ++
 .../org/apache/camel/catalog/components/https.json |  8 ++
 .../apache/camel/catalog/docs/http-component.adoc  | 12 ++-
 .../camel/http/common/HttpCommonEndpoint.java      | 13 +++
 .../component/http/HttpComponentConfigurer.java    | 35 ++++++++
 .../component/http/HttpEndpointConfigurer.java     |  5 ++
 .../org/apache/camel/component/http/http.json      |  8 ++
 .../org/apache/camel/component/http/https.json     |  8 ++
 .../camel-http/src/main/docs/http-component.adoc   | 12 ++-
 .../apache/camel/component/http/HttpComponent.java | 96 ++++++++++++++++++++--
 .../camel/component/http/HttpProxyServerTest.java  | 15 ++++
 .../component/dsl/HttpComponentBuilderFactory.java | 91 ++++++++++++++++++++
 .../dsl/HttpsComponentBuilderFactory.java          | 91 ++++++++++++++++++++
 .../endpoint/dsl/HttpEndpointBuilderFactory.java   | 18 +++-
 .../modules/ROOT/pages/http-component.adoc         | 12 ++-
 15 files changed, 416 insertions(+), 16 deletions(-)


[camel] 02/02: CAMEL-15384: camel-http - Allow to configure http proxy on component level

Posted by da...@apache.org.
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

commit 2b8a53b616ca8790a6267db2797dee74b0bd2b7b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 10 17:49:40 2020 +0200

    CAMEL-15384: camel-http - Allow to configure http proxy on component level
---
 .../resources/org/apache/camel/catalog/components/http.json  |  8 ++++++++
 .../resources/org/apache/camel/catalog/components/https.json |  8 ++++++++
 .../org/apache/camel/catalog/docs/http-component.adoc        | 12 ++++++++++--
 docs/components/modules/ROOT/pages/http-component.adoc       | 12 ++++++++++--
 4 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
index bcfb57c..cbe6e3b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
@@ -36,6 +36,13 @@
     "httpContext": { "kind": "property", "displayName": "Http Context", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.http.protocol.HttpContext", "deprecated": 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, "secret": false, "defaultValue": "200", "description": "The maximum number of connections." },
     "headerFilterStrategy": { "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": 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, "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, "secret": false, "description": "Proxy authentication host" },
+    "proxyAuthMethod": { "kind": "property", "displayName": "Proxy Auth Method", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Digest", "NTLM" ], "deprecated": false, "secret": false, "description": "Proxy authentication method to use" },
+    "proxyAuthNtHost": { "kind": "property", "displayName": "Proxy Auth Nt Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain (workstation name) to use with NTML" },
+    "proxyAuthPassword": { "kind": "property", "displayName": "Proxy Auth Password", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication password" },
+    "proxyAuthPort": { "kind": "property", "displayName": "Proxy Auth Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "Proxy authentication port" },
+    "proxyAuthUsername": { "kind": "property", "displayName": "Proxy Auth Username", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication username" },
     "sslContextParameters": { "kind": "property", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.support.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more differen [...]
     "useGlobalSslContextParameters": { "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Enable usage of global SSL context parameters." },
     "x509HostnameVerifier": { "kind": "property", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier." },
@@ -82,6 +89,7 @@
     "proxyAuthDomain": { "kind": "parameter", "displayName": "Proxy Auth Domain", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain to use with NTML" },
     "proxyAuthHost": { "kind": "parameter", "displayName": "Proxy Auth Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication host" },
     "proxyAuthMethod": { "kind": "parameter", "displayName": "Proxy Auth Method", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Digest", "NTLM" ], "deprecated": false, "secret": false, "description": "Proxy authentication method to use" },
+    "proxyAuthNtHost": { "kind": "parameter", "displayName": "Proxy Auth Nt Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain (workstation name) to use with NTML" },
     "proxyAuthPassword": { "kind": "parameter", "displayName": "Proxy Auth Password", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication password" },
     "proxyAuthPort": { "kind": "parameter", "displayName": "Proxy Auth Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "description": "Proxy authentication port" },
     "proxyAuthScheme": { "kind": "parameter", "displayName": "Proxy Auth Scheme", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "http", "https" ], "deprecated": false, "secret": false, "description": "Proxy authentication scheme to use" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
index 02f88a5..bc7e062 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
@@ -36,6 +36,13 @@
     "httpContext": { "kind": "property", "displayName": "Http Context", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.http.protocol.HttpContext", "deprecated": 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, "secret": false, "defaultValue": "200", "description": "The maximum number of connections." },
     "headerFilterStrategy": { "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": 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, "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, "secret": false, "description": "Proxy authentication host" },
+    "proxyAuthMethod": { "kind": "property", "displayName": "Proxy Auth Method", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Digest", "NTLM" ], "deprecated": false, "secret": false, "description": "Proxy authentication method to use" },
+    "proxyAuthNtHost": { "kind": "property", "displayName": "Proxy Auth Nt Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain (workstation name) to use with NTML" },
+    "proxyAuthPassword": { "kind": "property", "displayName": "Proxy Auth Password", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication password" },
+    "proxyAuthPort": { "kind": "property", "displayName": "Proxy Auth Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "Proxy authentication port" },
+    "proxyAuthUsername": { "kind": "property", "displayName": "Proxy Auth Username", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication username" },
     "sslContextParameters": { "kind": "property", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.support.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more differen [...]
     "useGlobalSslContextParameters": { "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Enable usage of global SSL context parameters." },
     "x509HostnameVerifier": { "kind": "property", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier." },
@@ -82,6 +89,7 @@
     "proxyAuthDomain": { "kind": "parameter", "displayName": "Proxy Auth Domain", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain to use with NTML" },
     "proxyAuthHost": { "kind": "parameter", "displayName": "Proxy Auth Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication host" },
     "proxyAuthMethod": { "kind": "parameter", "displayName": "Proxy Auth Method", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Digest", "NTLM" ], "deprecated": false, "secret": false, "description": "Proxy authentication method to use" },
+    "proxyAuthNtHost": { "kind": "parameter", "displayName": "Proxy Auth Nt Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain (workstation name) to use with NTML" },
     "proxyAuthPassword": { "kind": "parameter", "displayName": "Proxy Auth Password", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication password" },
     "proxyAuthPort": { "kind": "parameter", "displayName": "Proxy Auth Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "description": "Proxy authentication port" },
     "proxyAuthScheme": { "kind": "parameter", "displayName": "Proxy Auth Scheme", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "http", "https" ], "deprecated": false, "secret": false, "description": "Proxy authentication scheme to use" },
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 fb26219..ba5a53b 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
@@ -53,7 +53,7 @@ route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
 
 // component options: START
-The HTTP component supports 19 options, which are listed below.
+The HTTP component supports 26 options, which are listed below.
 
 
 
@@ -73,6 +73,13 @@ The HTTP component supports 19 options, which are listed below.
 | *httpContext* (advanced) | To use a custom org.apache.http.protocol.HttpContext when executing requests. |  | HttpContext
 | *maxTotalConnections* (advanced) | The maximum number of connections. | 200 | int
 | *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
+| *proxyAuthMethod* (proxy) | Proxy authentication method to use. The value can be one of: Basic, Digest, NTLM |  | String
+| *proxyAuthNtHost* (proxy) | Proxy authentication domain (workstation name) to use with NTML |  | String
+| *proxyAuthPassword* (proxy) | Proxy authentication password |  | String
+| *proxyAuthPort* (proxy) | Proxy authentication port |  | Integer
+| *proxyAuthUsername* (proxy) | Proxy authentication username |  | String
 | *sslContextParameters* (security) | To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.support.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more different instances, you need to define a new HttpComponent per instance you need. |  | SSLContextParameters
 | *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *x509HostnameVerifier* (security) | To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier. |  | HostnameVerifier
@@ -110,7 +117,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (52 parameters):
+=== Query Parameters (53 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -153,6 +160,7 @@ with the following path and query parameters:
 | *proxyAuthDomain* (proxy) | Proxy authentication domain to use with NTML |  | String
 | *proxyAuthHost* (proxy) | Proxy authentication host |  | String
 | *proxyAuthMethod* (proxy) | Proxy authentication method to use. The value can be one of: Basic, Digest, NTLM |  | String
+| *proxyAuthNtHost* (proxy) | Proxy authentication domain (workstation name) to use with NTML |  | String
 | *proxyAuthPassword* (proxy) | Proxy authentication password |  | String
 | *proxyAuthPort* (proxy) | Proxy authentication port |  | int
 | *proxyAuthScheme* (proxy) | Proxy authentication scheme to use. The value can be one of: http, https |  | String
diff --git a/docs/components/modules/ROOT/pages/http-component.adoc b/docs/components/modules/ROOT/pages/http-component.adoc
index ea29308..9b46b58 100644
--- a/docs/components/modules/ROOT/pages/http-component.adoc
+++ b/docs/components/modules/ROOT/pages/http-component.adoc
@@ -55,7 +55,7 @@ route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
 
 // component options: START
-The HTTP component supports 19 options, which are listed below.
+The HTTP component supports 26 options, which are listed below.
 
 
 
@@ -75,6 +75,13 @@ The HTTP component supports 19 options, which are listed below.
 | *httpContext* (advanced) | To use a custom org.apache.http.protocol.HttpContext when executing requests. |  | HttpContext
 | *maxTotalConnections* (advanced) | The maximum number of connections. | 200 | int
 | *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
+| *proxyAuthMethod* (proxy) | Proxy authentication method to use. The value can be one of: Basic, Digest, NTLM |  | String
+| *proxyAuthNtHost* (proxy) | Proxy authentication domain (workstation name) to use with NTML |  | String
+| *proxyAuthPassword* (proxy) | Proxy authentication password |  | String
+| *proxyAuthPort* (proxy) | Proxy authentication port |  | Integer
+| *proxyAuthUsername* (proxy) | Proxy authentication username |  | String
 | *sslContextParameters* (security) | To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.support.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more different instances, you need to define a new HttpComponent per instance you need. |  | SSLContextParameters
 | *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *x509HostnameVerifier* (security) | To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier. |  | HostnameVerifier
@@ -112,7 +119,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (52 parameters):
+=== Query Parameters (53 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -155,6 +162,7 @@ with the following path and query parameters:
 | *proxyAuthDomain* (proxy) | Proxy authentication domain to use with NTML |  | String
 | *proxyAuthHost* (proxy) | Proxy authentication host |  | String
 | *proxyAuthMethod* (proxy) | Proxy authentication method to use. The value can be one of: Basic, Digest, NTLM |  | String
+| *proxyAuthNtHost* (proxy) | Proxy authentication domain (workstation name) to use with NTML |  | String
 | *proxyAuthPassword* (proxy) | Proxy authentication password |  | String
 | *proxyAuthPort* (proxy) | Proxy authentication port |  | int
 | *proxyAuthScheme* (proxy) | Proxy authentication scheme to use. The value can be one of: http, https |  | String


[camel] 01/02: CAMEL-15384: camel-http - Allow to configure http proxy on component level

Posted by da...@apache.org.
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

commit d15fe24ba8b1cad48b011cb30579ac84d2e6969c
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 10 17:47:40 2020 +0200

    CAMEL-15384: camel-http - Allow to configure http proxy on component level
---
 .../camel/http/common/HttpCommonEndpoint.java      | 13 +++
 .../component/http/HttpComponentConfigurer.java    | 35 ++++++++
 .../component/http/HttpEndpointConfigurer.java     |  5 ++
 .../org/apache/camel/component/http/http.json      |  8 ++
 .../org/apache/camel/component/http/https.json     |  8 ++
 .../camel-http/src/main/docs/http-component.adoc   | 12 ++-
 .../apache/camel/component/http/HttpComponent.java | 96 ++++++++++++++++++++--
 .../camel/component/http/HttpProxyServerTest.java  | 15 ++++
 .../component/dsl/HttpComponentBuilderFactory.java | 91 ++++++++++++++++++++
 .../dsl/HttpsComponentBuilderFactory.java          | 91 ++++++++++++++++++++
 .../endpoint/dsl/HttpEndpointBuilderFactory.java   | 18 +++-
 11 files changed, 380 insertions(+), 12 deletions(-)

diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
index befdb09..fb7ca69 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
@@ -163,6 +163,8 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint implements Head
     private int proxyAuthPort;
     @UriParam(label = "producer,proxy", description = "Proxy authentication domain to use with NTML")
     private String proxyAuthDomain;
+    @UriParam(label = "producer,proxy", description = "Proxy authentication domain (workstation name) to use with NTML")
+    private String proxyAuthNtHost;
 
     public HttpCommonEndpoint() {
     }
@@ -742,4 +744,15 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint implements Head
     public void setProxyPort(int proxyPort) {
         this.proxyPort = proxyPort;
     }
+
+    public String getProxyAuthNtHost() {
+        return proxyAuthNtHost;
+    }
+
+    /**
+     * Proxy authentication domain (workstation name) to use with NTML
+     */
+    public void setProxyAuthNtHost(String proxyAuthNtHost) {
+        this.proxyAuthNtHost = proxyAuthNtHost;
+    }
 }
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 ff5d400..55579e9 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
@@ -49,6 +49,20 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
         case "maxtotalconnections":
         case "maxTotalConnections": target.setMaxTotalConnections(property(camelContext, int.class, value)); return true;
+        case "proxyauthdomain":
+        case "proxyAuthDomain": target.setProxyAuthDomain(property(camelContext, java.lang.String.class, value)); return true;
+        case "proxyauthhost":
+        case "proxyAuthHost": target.setProxyAuthHost(property(camelContext, java.lang.String.class, value)); return true;
+        case "proxyauthmethod":
+        case "proxyAuthMethod": target.setProxyAuthMethod(property(camelContext, java.lang.String.class, value)); return true;
+        case "proxyauthnthost":
+        case "proxyAuthNtHost": target.setProxyAuthNtHost(property(camelContext, java.lang.String.class, value)); return true;
+        case "proxyauthpassword":
+        case "proxyAuthPassword": target.setProxyAuthPassword(property(camelContext, java.lang.String.class, value)); return true;
+        case "proxyauthport":
+        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 "sockettimeout":
         case "socketTimeout": target.setSocketTimeout(property(camelContext, int.class, value)); return true;
         case "sslcontextparameters":
@@ -79,6 +93,13 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         answer.put("httpContext", org.apache.http.protocol.HttpContext.class);
         answer.put("lazyStartProducer", boolean.class);
         answer.put("maxTotalConnections", int.class);
+        answer.put("proxyAuthDomain", java.lang.String.class);
+        answer.put("proxyAuthHost", java.lang.String.class);
+        answer.put("proxyAuthMethod", java.lang.String.class);
+        answer.put("proxyAuthNtHost", java.lang.String.class);
+        answer.put("proxyAuthPassword", java.lang.String.class);
+        answer.put("proxyAuthPort", java.lang.Integer.class);
+        answer.put("proxyAuthUsername", java.lang.String.class);
         answer.put("socketTimeout", int.class);
         answer.put("sslContextParameters", org.apache.camel.support.jsse.SSLContextParameters.class);
         answer.put("useGlobalSslContextParameters", boolean.class);
@@ -120,6 +141,20 @@ public class HttpComponentConfigurer extends PropertyConfigurerSupport implement
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "maxtotalconnections":
         case "maxTotalConnections": return target.getMaxTotalConnections();
+        case "proxyauthdomain":
+        case "proxyAuthDomain": return target.getProxyAuthDomain();
+        case "proxyauthhost":
+        case "proxyAuthHost": return target.getProxyAuthHost();
+        case "proxyauthmethod":
+        case "proxyAuthMethod": return target.getProxyAuthMethod();
+        case "proxyauthnthost":
+        case "proxyAuthNtHost": return target.getProxyAuthNtHost();
+        case "proxyauthpassword":
+        case "proxyAuthPassword": return target.getProxyAuthPassword();
+        case "proxyauthport":
+        case "proxyAuthPort": return target.getProxyAuthPort();
+        case "proxyauthusername":
+        case "proxyAuthUsername": return target.getProxyAuthUsername();
         case "sockettimeout":
         case "socketTimeout": return target.getSocketTimeout();
         case "sslcontextparameters":
diff --git a/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointConfigurer.java b/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointConfigurer.java
index 3661bbf..5d227e6 100644
--- a/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointConfigurer.java
+++ b/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointConfigurer.java
@@ -98,6 +98,8 @@ public class HttpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "proxyAuthHost": target.setProxyAuthHost(property(camelContext, java.lang.String.class, value)); return true;
         case "proxyauthmethod":
         case "proxyAuthMethod": target.setProxyAuthMethod(property(camelContext, java.lang.String.class, value)); return true;
+        case "proxyauthnthost":
+        case "proxyAuthNtHost": target.setProxyAuthNtHost(property(camelContext, java.lang.String.class, value)); return true;
         case "proxyauthpassword":
         case "proxyAuthPassword": target.setProxyAuthPassword(property(camelContext, java.lang.String.class, value)); return true;
         case "proxyauthport":
@@ -168,6 +170,7 @@ public class HttpEndpointConfigurer extends PropertyConfigurerSupport implements
         answer.put("proxyAuthDomain", java.lang.String.class);
         answer.put("proxyAuthHost", java.lang.String.class);
         answer.put("proxyAuthMethod", java.lang.String.class);
+        answer.put("proxyAuthNtHost", java.lang.String.class);
         answer.put("proxyAuthPassword", java.lang.String.class);
         answer.put("proxyAuthPort", int.class);
         answer.put("proxyAuthScheme", java.lang.String.class);
@@ -266,6 +269,8 @@ public class HttpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "proxyAuthHost": return target.getProxyAuthHost();
         case "proxyauthmethod":
         case "proxyAuthMethod": return target.getProxyAuthMethod();
+        case "proxyauthnthost":
+        case "proxyAuthNtHost": return target.getProxyAuthNtHost();
         case "proxyauthpassword":
         case "proxyAuthPassword": return target.getProxyAuthPassword();
         case "proxyauthport":
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 bcfb57c..cbe6e3b 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
@@ -36,6 +36,13 @@
     "httpContext": { "kind": "property", "displayName": "Http Context", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.http.protocol.HttpContext", "deprecated": 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, "secret": false, "defaultValue": "200", "description": "The maximum number of connections." },
     "headerFilterStrategy": { "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": 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, "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, "secret": false, "description": "Proxy authentication host" },
+    "proxyAuthMethod": { "kind": "property", "displayName": "Proxy Auth Method", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Digest", "NTLM" ], "deprecated": false, "secret": false, "description": "Proxy authentication method to use" },
+    "proxyAuthNtHost": { "kind": "property", "displayName": "Proxy Auth Nt Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain (workstation name) to use with NTML" },
+    "proxyAuthPassword": { "kind": "property", "displayName": "Proxy Auth Password", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication password" },
+    "proxyAuthPort": { "kind": "property", "displayName": "Proxy Auth Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "Proxy authentication port" },
+    "proxyAuthUsername": { "kind": "property", "displayName": "Proxy Auth Username", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication username" },
     "sslContextParameters": { "kind": "property", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.support.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more differen [...]
     "useGlobalSslContextParameters": { "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Enable usage of global SSL context parameters." },
     "x509HostnameVerifier": { "kind": "property", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier." },
@@ -82,6 +89,7 @@
     "proxyAuthDomain": { "kind": "parameter", "displayName": "Proxy Auth Domain", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain to use with NTML" },
     "proxyAuthHost": { "kind": "parameter", "displayName": "Proxy Auth Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication host" },
     "proxyAuthMethod": { "kind": "parameter", "displayName": "Proxy Auth Method", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Digest", "NTLM" ], "deprecated": false, "secret": false, "description": "Proxy authentication method to use" },
+    "proxyAuthNtHost": { "kind": "parameter", "displayName": "Proxy Auth Nt Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain (workstation name) to use with NTML" },
     "proxyAuthPassword": { "kind": "parameter", "displayName": "Proxy Auth Password", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication password" },
     "proxyAuthPort": { "kind": "parameter", "displayName": "Proxy Auth Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "description": "Proxy authentication port" },
     "proxyAuthScheme": { "kind": "parameter", "displayName": "Proxy Auth Scheme", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "http", "https" ], "deprecated": false, "secret": false, "description": "Proxy authentication scheme to use" },
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 02f88a5..bc7e062 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
@@ -36,6 +36,13 @@
     "httpContext": { "kind": "property", "displayName": "Http Context", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.http.protocol.HttpContext", "deprecated": 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, "secret": false, "defaultValue": "200", "description": "The maximum number of connections." },
     "headerFilterStrategy": { "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": 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, "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, "secret": false, "description": "Proxy authentication host" },
+    "proxyAuthMethod": { "kind": "property", "displayName": "Proxy Auth Method", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Digest", "NTLM" ], "deprecated": false, "secret": false, "description": "Proxy authentication method to use" },
+    "proxyAuthNtHost": { "kind": "property", "displayName": "Proxy Auth Nt Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain (workstation name) to use with NTML" },
+    "proxyAuthPassword": { "kind": "property", "displayName": "Proxy Auth Password", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication password" },
+    "proxyAuthPort": { "kind": "property", "displayName": "Proxy Auth Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "Proxy authentication port" },
+    "proxyAuthUsername": { "kind": "property", "displayName": "Proxy Auth Username", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication username" },
     "sslContextParameters": { "kind": "property", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.support.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more differen [...]
     "useGlobalSslContextParameters": { "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Enable usage of global SSL context parameters." },
     "x509HostnameVerifier": { "kind": "property", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier." },
@@ -82,6 +89,7 @@
     "proxyAuthDomain": { "kind": "parameter", "displayName": "Proxy Auth Domain", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain to use with NTML" },
     "proxyAuthHost": { "kind": "parameter", "displayName": "Proxy Auth Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication host" },
     "proxyAuthMethod": { "kind": "parameter", "displayName": "Proxy Auth Method", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Digest", "NTLM" ], "deprecated": false, "secret": false, "description": "Proxy authentication method to use" },
+    "proxyAuthNtHost": { "kind": "parameter", "displayName": "Proxy Auth Nt Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Proxy authentication domain (workstation name) to use with NTML" },
     "proxyAuthPassword": { "kind": "parameter", "displayName": "Proxy Auth Password", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Proxy authentication password" },
     "proxyAuthPort": { "kind": "parameter", "displayName": "Proxy Auth Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "description": "Proxy authentication port" },
     "proxyAuthScheme": { "kind": "parameter", "displayName": "Proxy Auth Scheme", "group": "proxy", "label": "producer,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "http", "https" ], "deprecated": false, "secret": false, "description": "Proxy authentication scheme to use" },
diff --git a/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index fb26219..ba5a53b 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -53,7 +53,7 @@ route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
 
 // component options: START
-The HTTP component supports 19 options, which are listed below.
+The HTTP component supports 26 options, which are listed below.
 
 
 
@@ -73,6 +73,13 @@ The HTTP component supports 19 options, which are listed below.
 | *httpContext* (advanced) | To use a custom org.apache.http.protocol.HttpContext when executing requests. |  | HttpContext
 | *maxTotalConnections* (advanced) | The maximum number of connections. | 200 | int
 | *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
+| *proxyAuthMethod* (proxy) | Proxy authentication method to use. The value can be one of: Basic, Digest, NTLM |  | String
+| *proxyAuthNtHost* (proxy) | Proxy authentication domain (workstation name) to use with NTML |  | String
+| *proxyAuthPassword* (proxy) | Proxy authentication password |  | String
+| *proxyAuthPort* (proxy) | Proxy authentication port |  | Integer
+| *proxyAuthUsername* (proxy) | Proxy authentication username |  | String
 | *sslContextParameters* (security) | To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.support.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more different instances, you need to define a new HttpComponent per instance you need. |  | SSLContextParameters
 | *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *x509HostnameVerifier* (security) | To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier. |  | HostnameVerifier
@@ -110,7 +117,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (52 parameters):
+=== Query Parameters (53 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -153,6 +160,7 @@ with the following path and query parameters:
 | *proxyAuthDomain* (proxy) | Proxy authentication domain to use with NTML |  | String
 | *proxyAuthHost* (proxy) | Proxy authentication host |  | String
 | *proxyAuthMethod* (proxy) | Proxy authentication method to use. The value can be one of: Basic, Digest, NTLM |  | String
+| *proxyAuthNtHost* (proxy) | Proxy authentication domain (workstation name) to use with NTML |  | String
 | *proxyAuthPassword* (proxy) | Proxy authentication password |  | String
 | *proxyAuthPort* (proxy) | Proxy authentication port |  | int
 | *proxyAuthScheme* (proxy) | Proxy authentication scheme to use. The value can be one of: http, https |  | 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 64a931c..bee6a70 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
@@ -42,6 +42,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestProducerFactory;
+import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.PropertyBindingSupport;
@@ -116,6 +117,23 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
         + " A negative value is interpreted as undefined (system default).")
     protected int socketTimeout = -1;
 
+    // proxy
+    private String proxyAuthScheme;
+    @Metadata(label = "producer,proxy", enums = "Basic,Digest,NTLM", description = "Proxy authentication method to use")
+    private String proxyAuthMethod;
+    @Metadata(label = "producer,proxy", secret = true, description = "Proxy authentication username")
+    private String proxyAuthUsername;
+    @Metadata(label = "producer,proxy", secret = true, description = "Proxy authentication password")
+    private String proxyAuthPassword;
+    @Metadata(label = "producer,proxy", description = "Proxy authentication host")
+    private String proxyAuthHost;
+    @Metadata(label = "producer,proxy", description = "Proxy authentication port")
+    private Integer proxyAuthPort;
+    @Metadata(label = "producer,proxy", description = "Proxy authentication domain to use")
+    private String proxyAuthDomain;
+    @Metadata(label = "producer,proxy", description = "Proxy authentication domain (workstation name) to use with NTML")
+    private String proxyAuthNtHost;
+
     // options to the default created http connection manager
     @Metadata(label = "advanced", defaultValue = "200", description = "The maximum number of connections.")
     protected int maxTotalConnections = 200;
@@ -177,13 +195,13 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
     }
 
     private HttpClientConfigurer configureHttpProxy(Map<String, Object> parameters, HttpClientConfigurer configurer, boolean secure) throws Exception {
-        String proxyAuthScheme = getParameter(parameters, "proxyAuthScheme", String.class);
+        String proxyAuthScheme = getParameter(parameters, "proxyAuthScheme", String.class, getProxyAuthScheme());
         if (proxyAuthScheme == null) {
             // fallback and use either http or https depending on secure
             proxyAuthScheme = secure ? "https" : "http";
         }
-        String proxyAuthHost = getParameter(parameters, "proxyAuthHost", String.class);
-        Integer proxyAuthPort = getParameter(parameters, "proxyAuthPort", Integer.class);
+        String proxyAuthHost = getParameter(parameters, "proxyAuthHost", String.class, getProxyAuthHost());
+        Integer proxyAuthPort = getParameter(parameters, "proxyAuthPort", Integer.class, getProxyAuthPort());
         // fallback to alternative option name
         if (proxyAuthHost == null) {
             proxyAuthHost = getParameter(parameters, "proxyHost", String.class);
@@ -193,10 +211,10 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
         }
 
         if (proxyAuthHost != null && proxyAuthPort != null) {
-            String proxyAuthUsername = getParameter(parameters, "proxyAuthUsername", String.class);
-            String proxyAuthPassword = getParameter(parameters, "proxyAuthPassword", String.class);
-            String proxyAuthDomain = getParameter(parameters, "proxyAuthDomain", String.class);
-            String proxyAuthNtHost = getParameter(parameters, "proxyAuthNtHost", String.class);
+            String proxyAuthUsername = getParameter(parameters, "proxyAuthUsername", String.class, getProxyAuthUsername());
+            String proxyAuthPassword = getParameter(parameters, "proxyAuthPassword", String.class, getProxyAuthPassword());
+            String proxyAuthDomain = getParameter(parameters, "proxyAuthDomain", String.class, getProxyAuthDomain());
+            String proxyAuthNtHost = getParameter(parameters, "proxyAuthNtHost", String.class, getProxyAuthNtHost());
 
             LOG.debug("Configuring HTTP client to use HTTP proxy {}:{}", proxyAuthHost, proxyAuthPort);
 
@@ -651,6 +669,70 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
         this.socketTimeout = socketTimeout;
     }
 
+    public String getProxyAuthScheme() {
+        return proxyAuthScheme;
+    }
+
+    public void setProxyAuthScheme(String proxyAuthScheme) {
+        this.proxyAuthScheme = proxyAuthScheme;
+    }
+
+    public String getProxyAuthMethod() {
+        return proxyAuthMethod;
+    }
+
+    public void setProxyAuthMethod(String proxyAuthMethod) {
+        this.proxyAuthMethod = proxyAuthMethod;
+    }
+
+    public String getProxyAuthUsername() {
+        return proxyAuthUsername;
+    }
+
+    public void setProxyAuthUsername(String proxyAuthUsername) {
+        this.proxyAuthUsername = proxyAuthUsername;
+    }
+
+    public String getProxyAuthPassword() {
+        return proxyAuthPassword;
+    }
+
+    public void setProxyAuthPassword(String proxyAuthPassword) {
+        this.proxyAuthPassword = proxyAuthPassword;
+    }
+
+    public String getProxyAuthHost() {
+        return proxyAuthHost;
+    }
+
+    public void setProxyAuthHost(String proxyAuthHost) {
+        this.proxyAuthHost = proxyAuthHost;
+    }
+
+    public Integer getProxyAuthPort() {
+        return proxyAuthPort;
+    }
+
+    public void setProxyAuthPort(Integer proxyAuthPort) {
+        this.proxyAuthPort = proxyAuthPort;
+    }
+
+    public String getProxyAuthDomain() {
+        return proxyAuthDomain;
+    }
+
+    public void setProxyAuthDomain(String proxyAuthDomain) {
+        this.proxyAuthDomain = proxyAuthDomain;
+    }
+
+    public String getProxyAuthNtHost() {
+        return proxyAuthNtHost;
+    }
+
+    public void setProxyAuthNtHost(String proxyAuthNtHost) {
+        this.proxyAuthNtHost = proxyAuthNtHost;
+    }
+
     @Override
     public void doStart() throws Exception {
         super.doStart();
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProxyServerTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProxyServerTest.java
index bd2c5be..fd57748 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProxyServerTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProxyServerTest.java
@@ -122,6 +122,21 @@ public class HttpProxyServerTest extends BaseHttpTest {
         assertExchange(exchange);
     }
 
+    @Test
+    public void httpGetWithProxyOnComponent() throws Exception {
+        HttpComponent http = context.getComponent("http", HttpComponent.class);
+        http.setProxyAuthHost(getProxyHost());
+        http.setProxyAuthPort(Integer.parseInt(getProxyPort()));
+
+        Exchange exchange = template.request("http://" + getProxyHost() + ":" + getProxyPort(), exchange1 -> {
+        });
+
+        http.setProxyAuthHost(null);
+        http.setProxyAuthPort(null);
+
+        assertExchange(exchange);
+    }
+
     private String getProxyHost() {
         return proxy.getInetAddress().getHostName();
     }
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 1350626..a242b85 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
@@ -237,6 +237,90 @@ public interface HttpComponentBuilderFactory {
             return this;
         }
         /**
+         * Proxy authentication domain to use.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpComponentBuilder proxyAuthDomain(
+                java.lang.String proxyAuthDomain) {
+            doSetProperty("proxyAuthDomain", proxyAuthDomain);
+            return this;
+        }
+        /**
+         * Proxy authentication host.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpComponentBuilder proxyAuthHost(
+                java.lang.String proxyAuthHost) {
+            doSetProperty("proxyAuthHost", proxyAuthHost);
+            return this;
+        }
+        /**
+         * Proxy authentication method to use.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpComponentBuilder proxyAuthMethod(
+                java.lang.String proxyAuthMethod) {
+            doSetProperty("proxyAuthMethod", proxyAuthMethod);
+            return this;
+        }
+        /**
+         * Proxy authentication domain (workstation name) to use with NTML.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpComponentBuilder proxyAuthNtHost(
+                java.lang.String proxyAuthNtHost) {
+            doSetProperty("proxyAuthNtHost", proxyAuthNtHost);
+            return this;
+        }
+        /**
+         * Proxy authentication password.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpComponentBuilder proxyAuthPassword(
+                java.lang.String proxyAuthPassword) {
+            doSetProperty("proxyAuthPassword", proxyAuthPassword);
+            return this;
+        }
+        /**
+         * Proxy authentication port.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpComponentBuilder proxyAuthPort(
+                java.lang.Integer proxyAuthPort) {
+            doSetProperty("proxyAuthPort", proxyAuthPort);
+            return this;
+        }
+        /**
+         * Proxy authentication username.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpComponentBuilder proxyAuthUsername(
+                java.lang.String proxyAuthUsername) {
+            doSetProperty("proxyAuthUsername", proxyAuthUsername);
+            return this;
+        }
+        /**
          * To configure security using SSLContextParameters. Important: Only one
          * instance of org.apache.camel.support.jsse.SSLContextParameters is
          * supported per HttpComponent. If you need to use 2 or more different
@@ -358,6 +442,13 @@ public interface HttpComponentBuilderFactory {
             case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.http.protocol.HttpContext) value); return true;
             case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) 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;
+            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
+            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
+            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
+            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
+            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
             case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
             case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
             case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) 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 5997dc9..4efa29e 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
@@ -240,6 +240,90 @@ public interface HttpsComponentBuilderFactory {
             return this;
         }
         /**
+         * Proxy authentication domain to use.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpsComponentBuilder proxyAuthDomain(
+                java.lang.String proxyAuthDomain) {
+            doSetProperty("proxyAuthDomain", proxyAuthDomain);
+            return this;
+        }
+        /**
+         * Proxy authentication host.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpsComponentBuilder proxyAuthHost(
+                java.lang.String proxyAuthHost) {
+            doSetProperty("proxyAuthHost", proxyAuthHost);
+            return this;
+        }
+        /**
+         * Proxy authentication method to use.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpsComponentBuilder proxyAuthMethod(
+                java.lang.String proxyAuthMethod) {
+            doSetProperty("proxyAuthMethod", proxyAuthMethod);
+            return this;
+        }
+        /**
+         * Proxy authentication domain (workstation name) to use with NTML.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpsComponentBuilder proxyAuthNtHost(
+                java.lang.String proxyAuthNtHost) {
+            doSetProperty("proxyAuthNtHost", proxyAuthNtHost);
+            return this;
+        }
+        /**
+         * Proxy authentication password.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpsComponentBuilder proxyAuthPassword(
+                java.lang.String proxyAuthPassword) {
+            doSetProperty("proxyAuthPassword", proxyAuthPassword);
+            return this;
+        }
+        /**
+         * Proxy authentication port.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpsComponentBuilder proxyAuthPort(
+                java.lang.Integer proxyAuthPort) {
+            doSetProperty("proxyAuthPort", proxyAuthPort);
+            return this;
+        }
+        /**
+         * Proxy authentication username.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpsComponentBuilder proxyAuthUsername(
+                java.lang.String proxyAuthUsername) {
+            doSetProperty("proxyAuthUsername", proxyAuthUsername);
+            return this;
+        }
+        /**
          * To configure security using SSLContextParameters. Important: Only one
          * instance of org.apache.camel.support.jsse.SSLContextParameters is
          * supported per HttpComponent. If you need to use 2 or more different
@@ -361,6 +445,13 @@ public interface HttpsComponentBuilderFactory {
             case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.http.protocol.HttpContext) value); return true;
             case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) 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;
+            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
+            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
+            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
+            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
+            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
             case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
             case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
             case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
index 48c39d1..97d40e8 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
@@ -508,6 +508,17 @@ public interface HttpEndpointBuilderFactory {
             return this;
         }
         /**
+         * Proxy authentication domain (workstation name) to use with NTML.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         */
+        default HttpEndpointBuilder proxyAuthNtHost(String proxyAuthNtHost) {
+            doSetProperty("proxyAuthNtHost", proxyAuthNtHost);
+            return this;
+        }
+        /**
          * Proxy authentication password.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -521,18 +532,19 @@ public interface HttpEndpointBuilderFactory {
         /**
          * Proxy authentication port.
          * 
-         * The option is a: <code>int</code> type.
+         * The option is a: <code>java.lang.Integer</code> type.
          * 
          * Group: proxy
          */
-        default HttpEndpointBuilder proxyAuthPort(int proxyAuthPort) {
+        default HttpEndpointBuilder proxyAuthPort(Integer proxyAuthPort) {
             doSetProperty("proxyAuthPort", proxyAuthPort);
             return this;
         }
         /**
          * Proxy authentication port.
          * 
-         * The option will be converted to a <code>int</code> type.
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
          * 
          * Group: proxy
          */