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

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


The following commit(s) were added to refs/heads/main by this push:
     new 7f505d72ef3 camel-vertx-websocket: improve labels for options related 
to security
7f505d72ef3 is described below

commit 7f505d72ef337225ef42762978a5f66eb4589635
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Sun May 4 10:04:39 2025 +0200

    camel-vertx-websocket: improve labels for options related to security
---
 .../camel/catalog/components/vertx-websocket.json  |  34 +-
 .../component/vertx/websocket/vertx-websocket.json |  34 +-
 .../websocket/VertxWebsocketConfiguration.java     |  20 +-
 .../dsl/VertxWebsocketEndpointBuilderFactory.java  | 382 +++++++++++++++++----
 4 files changed, 368 insertions(+), 102 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vertx-websocket.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vertx-websocket.json
index f26325fecf5..e818cb2bf35 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vertx-websocket.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vertx-websocket.json
@@ -47,23 +47,23 @@
     "port": { "index": 1, "kind": "path", "displayName": "Port", "group": 
"common", "label": "", "required": true, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "WebSocket port number to 
use." },
     "path": { "index": 2, "kind": "path", "displayName": "Path", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "WebSocket path to use." 
},
     "allowedOriginPattern": { "index": 3, "kind": "parameter", "displayName": 
"Allowed Origin Pattern", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Regex pattern to match 
the origin header sent by WebSocket clients" },
-    "allowOriginHeader": { "index": 4, "kind": "parameter", "displayName": 
"Allow Origin Header", "group": "consumer", "label": "producer,consumer", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Whether the WebSocket 
client should add the Origin  [...]
-    "consumeAsClient": { "index": 5, "kind": "parameter", "displayName": 
"Consume As Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When set to true, the 
consumer acts as a WebSocket client, crea [...]
-    "fireWebSocketConnectionEvents": { "index": 6, "kind": "parameter", 
"displayName": "Fire Web Socket Connection Events", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Whether the server 
consumer will  [...]
-    "handshakeHeaders": { "index": 7, "kind": "parameter", "displayName": 
"Handshake Headers", "group": "consumer", "label": "producer,consumer", 
"required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "prefix": "handshake.", 
"multiValue": true, "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "descri [...]
-    "maxReconnectAttempts": { "index": 8, "kind": "parameter", "displayName": 
"Max Reconnect Attempts", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the maximum num [...]
-    "originHeaderUrl": { "index": 9, "kind": "parameter", "displayName": 
"Origin Header Url", "group": "consumer", "label": "producer,consumer", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "The value of the Origin 
header that the WebSocket client should use o [...]
-    "reconnectInitialDelay": { "index": 10, "kind": "parameter", 
"displayName": "Reconnect Initial Delay", "group": "consumer", "label": 
"consumer", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the initial  [...]
-    "reconnectInterval": { "index": 11, "kind": "parameter", "displayName": 
"Reconnect Interval", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1000, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the interval in mi [...]
-    "router": { "index": 12, "kind": "parameter", "displayName": "Router", 
"group": "consumer", "label": "consumer", "required": false, "type": "object", 
"javaType": "io.vertx.ext.web.Router", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To use an existing vertx 
router for the HTTP server" },
-    "serverOptions": { "index": 13, "kind": "parameter", "displayName": 
"Server Options", "group": "consumer", "label": "consumer", "required": false, 
"type": "object", "javaType": "io.vertx.core.http.HttpServerOptions", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Sets customized options 
for configuring the HTTP server hostin [...]
-    "bridgeErrorHandler": { "index": 14, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
-    "exceptionHandler": { "index": 15, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 16, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "clientOptions": { "index": 17, "kind": "parameter", "displayName": 
"Client Options", "group": "producer", "label": "producer", "required": false, 
"type": "object", "javaType": "io.vertx.core.http.HttpClientOptions", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Sets customized options 
for configuring the WebSocket client u [...]
-    "clientSubProtocols": { "index": 18, "kind": "parameter", "displayName": 
"Client Sub Protocols", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Comma separated list of 
WebSocket subprotocols that the client should u [...]
-    "sendToAll": { "index": 19, "kind": "parameter", "displayName": "Send To 
All", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To send to all websocket 
subscribers. Can be used to configure at the endp [...]
-    "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
+    "consumeAsClient": { "index": 4, "kind": "parameter", "displayName": 
"Consume As Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When set to true, the 
consumer acts as a WebSocket client, crea [...]
+    "fireWebSocketConnectionEvents": { "index": 5, "kind": "parameter", 
"displayName": "Fire Web Socket Connection Events", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Whether the server 
consumer will  [...]
+    "maxReconnectAttempts": { "index": 6, "kind": "parameter", "displayName": 
"Max Reconnect Attempts", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the maximum number of allowed reco [...]
+    "reconnectInitialDelay": { "index": 7, "kind": "parameter", "displayName": 
"Reconnect Initial Delay", "group": "consumer", "label": "consumer", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the initial delay in millisecond [...]
+    "reconnectInterval": { "index": 8, "kind": "parameter", "displayName": 
"Reconnect Interval", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1000, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the interval in mil [...]
+    "bridgeErrorHandler": { "index": 9, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
+    "exceptionHandler": { "index": 10, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
+    "exchangePattern": { "index": 11, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
+    "router": { "index": 12, "kind": "parameter", "displayName": "Router", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "object", "javaType": "io.vertx.ext.web.Router", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To use an existing vertx 
router for the HTTP server" },
+    "serverOptions": { "index": 13, "kind": "parameter", "displayName": 
"Server Options", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"io.vertx.core.http.HttpServerOptions", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Sets customized options 
for configuring th [...]
+    "clientSubProtocols": { "index": 14, "kind": "parameter", "displayName": 
"Client Sub Protocols", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Comma separated list of 
WebSocket subprotocols that the client should u [...]
+    "sendToAll": { "index": 15, "kind": "parameter", "displayName": "Send To 
All", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To send to all websocket 
subscribers. Can be used to configure at the endp [...]
+    "clientOptions": { "index": 16, "kind": "parameter", "displayName": 
"Client Options", "group": "producer (advanced)", "label": "producer,advanced", 
"required": false, "type": "object", "javaType": 
"io.vertx.core.http.HttpClientOptions", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Sets customized options 
for configuring th [...]
+    "lazyStartProducer": { "index": 17, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
+    "allowOriginHeader": { "index": 18, "kind": "parameter", "displayName": 
"Allow Origin Header", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Whether the WebSocket 
client should add the Origin header t [...]
+    "handshakeHeaders": { "index": 19, "kind": "parameter", "displayName": 
"Handshake Headers", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.Object>", "prefix": "handshake.", "multiValue": true, "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description":  [...]
+    "originHeaderUrl": { "index": 20, "kind": "parameter", "displayName": 
"Origin Header Url", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "The value of the Origin 
header that the WebSocket client should use on the We [...]
     "sslContextParameters": { "index": 21, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To configure security 
using SSLCo [...]
   }
 }
diff --git 
a/components/camel-vertx/camel-vertx-websocket/src/generated/resources/META-INF/org/apache/camel/component/vertx/websocket/vertx-websocket.json
 
b/components/camel-vertx/camel-vertx-websocket/src/generated/resources/META-INF/org/apache/camel/component/vertx/websocket/vertx-websocket.json
index f26325fecf5..e818cb2bf35 100644
--- 
a/components/camel-vertx/camel-vertx-websocket/src/generated/resources/META-INF/org/apache/camel/component/vertx/websocket/vertx-websocket.json
+++ 
b/components/camel-vertx/camel-vertx-websocket/src/generated/resources/META-INF/org/apache/camel/component/vertx/websocket/vertx-websocket.json
@@ -47,23 +47,23 @@
     "port": { "index": 1, "kind": "path", "displayName": "Port", "group": 
"common", "label": "", "required": true, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "WebSocket port number to 
use." },
     "path": { "index": 2, "kind": "path", "displayName": "Path", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "WebSocket path to use." 
},
     "allowedOriginPattern": { "index": 3, "kind": "parameter", "displayName": 
"Allowed Origin Pattern", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Regex pattern to match 
the origin header sent by WebSocket clients" },
-    "allowOriginHeader": { "index": 4, "kind": "parameter", "displayName": 
"Allow Origin Header", "group": "consumer", "label": "producer,consumer", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Whether the WebSocket 
client should add the Origin  [...]
-    "consumeAsClient": { "index": 5, "kind": "parameter", "displayName": 
"Consume As Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When set to true, the 
consumer acts as a WebSocket client, crea [...]
-    "fireWebSocketConnectionEvents": { "index": 6, "kind": "parameter", 
"displayName": "Fire Web Socket Connection Events", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Whether the server 
consumer will  [...]
-    "handshakeHeaders": { "index": 7, "kind": "parameter", "displayName": 
"Handshake Headers", "group": "consumer", "label": "producer,consumer", 
"required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "prefix": "handshake.", 
"multiValue": true, "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "descri [...]
-    "maxReconnectAttempts": { "index": 8, "kind": "parameter", "displayName": 
"Max Reconnect Attempts", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the maximum num [...]
-    "originHeaderUrl": { "index": 9, "kind": "parameter", "displayName": 
"Origin Header Url", "group": "consumer", "label": "producer,consumer", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "The value of the Origin 
header that the WebSocket client should use o [...]
-    "reconnectInitialDelay": { "index": 10, "kind": "parameter", 
"displayName": "Reconnect Initial Delay", "group": "consumer", "label": 
"consumer", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the initial  [...]
-    "reconnectInterval": { "index": 11, "kind": "parameter", "displayName": 
"Reconnect Interval", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1000, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the interval in mi [...]
-    "router": { "index": 12, "kind": "parameter", "displayName": "Router", 
"group": "consumer", "label": "consumer", "required": false, "type": "object", 
"javaType": "io.vertx.ext.web.Router", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To use an existing vertx 
router for the HTTP server" },
-    "serverOptions": { "index": 13, "kind": "parameter", "displayName": 
"Server Options", "group": "consumer", "label": "consumer", "required": false, 
"type": "object", "javaType": "io.vertx.core.http.HttpServerOptions", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Sets customized options 
for configuring the HTTP server hostin [...]
-    "bridgeErrorHandler": { "index": 14, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
-    "exceptionHandler": { "index": 15, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 16, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "clientOptions": { "index": 17, "kind": "parameter", "displayName": 
"Client Options", "group": "producer", "label": "producer", "required": false, 
"type": "object", "javaType": "io.vertx.core.http.HttpClientOptions", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Sets customized options 
for configuring the WebSocket client u [...]
-    "clientSubProtocols": { "index": 18, "kind": "parameter", "displayName": 
"Client Sub Protocols", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Comma separated list of 
WebSocket subprotocols that the client should u [...]
-    "sendToAll": { "index": 19, "kind": "parameter", "displayName": "Send To 
All", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To send to all websocket 
subscribers. Can be used to configure at the endp [...]
-    "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
+    "consumeAsClient": { "index": 4, "kind": "parameter", "displayName": 
"Consume As Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When set to true, the 
consumer acts as a WebSocket client, crea [...]
+    "fireWebSocketConnectionEvents": { "index": 5, "kind": "parameter", 
"displayName": "Fire Web Socket Connection Events", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Whether the server 
consumer will  [...]
+    "maxReconnectAttempts": { "index": 6, "kind": "parameter", "displayName": 
"Max Reconnect Attempts", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the maximum number of allowed reco [...]
+    "reconnectInitialDelay": { "index": 7, "kind": "parameter", "displayName": 
"Reconnect Initial Delay", "group": "consumer", "label": "consumer", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the initial delay in millisecond [...]
+    "reconnectInterval": { "index": 8, "kind": "parameter", "displayName": 
"Reconnect Interval", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1000, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "When consumeAsClient is 
set to true this sets the interval in mil [...]
+    "bridgeErrorHandler": { "index": 9, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
+    "exceptionHandler": { "index": 10, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
+    "exchangePattern": { "index": 11, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
+    "router": { "index": 12, "kind": "parameter", "displayName": "Router", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "object", "javaType": "io.vertx.ext.web.Router", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To use an existing vertx 
router for the HTTP server" },
+    "serverOptions": { "index": 13, "kind": "parameter", "displayName": 
"Server Options", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"io.vertx.core.http.HttpServerOptions", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Sets customized options 
for configuring th [...]
+    "clientSubProtocols": { "index": 14, "kind": "parameter", "displayName": 
"Client Sub Protocols", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Comma separated list of 
WebSocket subprotocols that the client should u [...]
+    "sendToAll": { "index": 15, "kind": "parameter", "displayName": "Send To 
All", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To send to all websocket 
subscribers. Can be used to configure at the endp [...]
+    "clientOptions": { "index": 16, "kind": "parameter", "displayName": 
"Client Options", "group": "producer (advanced)", "label": "producer,advanced", 
"required": false, "type": "object", "javaType": 
"io.vertx.core.http.HttpClientOptions", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Sets customized options 
for configuring th [...]
+    "lazyStartProducer": { "index": 17, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
+    "allowOriginHeader": { "index": 18, "kind": "parameter", "displayName": 
"Allow Origin Header", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "Whether the WebSocket 
client should add the Origin header t [...]
+    "handshakeHeaders": { "index": 19, "kind": "parameter", "displayName": 
"Handshake Headers", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.Object>", "prefix": "handshake.", "multiValue": true, "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description":  [...]
+    "originHeaderUrl": { "index": 20, "kind": "parameter", "displayName": 
"Origin Header Url", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "The value of the Origin 
header that the WebSocket client should use on the We [...]
     "sslContextParameters": { "index": 21, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", 
"configurationField": "configuration", "description": "To configure security 
using SSLCo [...]
   }
 }
diff --git 
a/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConfiguration.java
 
b/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConfiguration.java
index a474089902c..3751fab507e 100644
--- 
a/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConfiguration.java
+++ 
b/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConfiguration.java
@@ -43,34 +43,34 @@ public class VertxWebsocketConfiguration {
     private String path;
     @UriParam(label = "consumer")
     private String allowedOriginPattern;
-    @UriParam(label = "consumer")
+    @UriParam(label = "consumer,advanced")
     private Router router;
-    @UriParam(label = "consumer")
+    @UriParam(label = "consumer,advanced")
     private HttpServerOptions serverOptions;
     @UriParam(label = "consumer")
     private boolean consumeAsClient;
-    @UriParam(label = "consumer", defaultValue = "0")
+    @UriParam(label = "consumer")
     private int reconnectInitialDelay;
     @UriParam(label = "consumer", defaultValue = "1000")
     private int reconnectInterval = 1000;
-    @UriParam(label = "consumer", defaultValue = "0")
+    @UriParam(label = "consumer")
     private int maxReconnectAttempts;
-    @UriParam(label = "producer")
+    @UriParam(label = "producer,advanced")
     private HttpClientOptions clientOptions;
     @UriParam(label = "producer")
     private boolean sendToAll;
     @UriParam(label = "producer")
     private String clientSubProtocols;
-    @UriParam(label = "security")
-    private SSLContextParameters sslContextParameters;
     @UriParam(label = "consumer")
     private boolean fireWebSocketConnectionEvents;
-    @UriParam(label = "producer,consumer", defaultValue = "true")
+    @UriParam(label = "security", defaultValue = "true")
     private boolean allowOriginHeader = true;
-    @UriParam(label = "producer,consumer")
+    @UriParam(label = "security")
     private String originHeaderUrl;
-    @UriParam(label = "producer,consumer", prefix = "handshake.", multiValue = 
true)
+    @UriParam(label = "security", prefix = "handshake.", multiValue = true)
     private Map<String, Object> handshakeHeaders;
+    @UriParam(label = "security")
+    private SSLContextParameters sslContextParameters;
 
     /**
      * The WebSocket URI address to use.
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/VertxWebsocketEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/VertxWebsocketEndpointBuilderFactory.java
index 46190453d4c..99f30c5563e 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/VertxWebsocketEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/VertxWebsocketEndpointBuilderFactory.java
@@ -129,7 +129,6 @@ public interface VertxWebsocketEndpointBuilderFactory {
          * 
          * The option is a: <code>int</code> type.
          * 
-         * Default: 0
          * Group: consumer
          * 
          * @param maxReconnectAttempts the value to set
@@ -146,7 +145,6 @@ public interface VertxWebsocketEndpointBuilderFactory {
          * 
          * The option will be converted to a <code>int</code> type.
          * 
-         * Default: 0
          * Group: consumer
          * 
          * @param maxReconnectAttempts the value to set
@@ -163,7 +161,6 @@ public interface VertxWebsocketEndpointBuilderFactory {
          * 
          * The option is a: <code>int</code> type.
          * 
-         * Default: 0
          * Group: consumer
          * 
          * @param reconnectInitialDelay the value to set
@@ -180,7 +177,6 @@ public interface VertxWebsocketEndpointBuilderFactory {
          * 
          * The option will be converted to a <code>int</code> type.
          * 
-         * Default: 0
          * Group: consumer
          * 
          * @param reconnectInitialDelay the value to set
@@ -225,64 +221,93 @@ public interface VertxWebsocketEndpointBuilderFactory {
             return this;
         }
         /**
-         * To use an existing vertx router for the HTTP server.
+         * Whether the WebSocket client should add the Origin header to the
+         * WebSocket handshake request.
          * 
-         * The option is a: <code>io.vertx.ext.web.Router</code> type.
+         * The option is a: <code>boolean</code> type.
          * 
-         * Group: consumer
+         * Default: true
+         * Group: security
          * 
-         * @param router the value to set
+         * @param allowOriginHeader the value to set
          * @return the dsl builder
          */
-        default VertxWebsocketEndpointConsumerBuilder 
router(io.vertx.ext.web.Router router) {
-            doSetProperty("router", router);
+        default VertxWebsocketEndpointConsumerBuilder 
allowOriginHeader(boolean allowOriginHeader) {
+            doSetProperty("allowOriginHeader", allowOriginHeader);
             return this;
         }
         /**
-         * To use an existing vertx router for the HTTP server.
+         * Whether the WebSocket client should add the Origin header to the
+         * WebSocket handshake request.
          * 
-         * The option will be converted to a
-         * <code>io.vertx.ext.web.Router</code> type.
+         * The option will be converted to a <code>boolean</code> type.
          * 
-         * Group: consumer
+         * Default: true
+         * Group: security
          * 
-         * @param router the value to set
+         * @param allowOriginHeader the value to set
          * @return the dsl builder
          */
-        default VertxWebsocketEndpointConsumerBuilder router(String router) {
-            doSetProperty("router", router);
+        default VertxWebsocketEndpointConsumerBuilder allowOriginHeader(String 
allowOriginHeader) {
+            doSetProperty("allowOriginHeader", allowOriginHeader);
             return this;
         }
         /**
-         * Sets customized options for configuring the HTTP server hosting the
-         * WebSocket for the consumer.
+         * Headers to send in the HTTP handshake request. When the endpoint is 
a
+         * consumer, it only works when it consumes a remote host as a client
+         * (i.e. consumeAsClient is true).
          * 
-         * The option is a: <code>io.vertx.core.http.HttpServerOptions</code>
-         * type.
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * The option is multivalued, and you can use the
+         * handshakeHeaders(String, Object) method to add a value (call the
+         * method multiple times to set more values).
          * 
-         * Group: consumer
+         * Group: security
          * 
-         * @param serverOptions the value to set
+         * @param key the option key
+         * @param value the option value
          * @return the dsl builder
          */
-        default VertxWebsocketEndpointConsumerBuilder 
serverOptions(io.vertx.core.http.HttpServerOptions serverOptions) {
-            doSetProperty("serverOptions", serverOptions);
+        default VertxWebsocketEndpointConsumerBuilder handshakeHeaders(String 
key, Object value) {
+            doSetMultiValueProperty("handshakeHeaders", "handshake." + key, 
value);
             return this;
         }
         /**
-         * Sets customized options for configuring the HTTP server hosting the
-         * WebSocket for the consumer.
+         * Headers to send in the HTTP handshake request. When the endpoint is 
a
+         * consumer, it only works when it consumes a remote host as a client
+         * (i.e. consumeAsClient is true).
          * 
-         * The option will be converted to a
-         * <code>io.vertx.core.http.HttpServerOptions</code> type.
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * The option is multivalued, and you can use the
+         * handshakeHeaders(String, Object) method to add a value (call the
+         * method multiple times to set more values).
          * 
-         * Group: consumer
+         * Group: security
          * 
-         * @param serverOptions the value to set
+         * @param values the values
          * @return the dsl builder
          */
-        default VertxWebsocketEndpointConsumerBuilder serverOptions(String 
serverOptions) {
-            doSetProperty("serverOptions", serverOptions);
+        default VertxWebsocketEndpointConsumerBuilder handshakeHeaders(Map 
values) {
+            doSetMultiValueProperties("handshakeHeaders", "handshake.", 
values);
+            return this;
+        }
+        /**
+         * The value of the Origin header that the WebSocket client should use
+         * on the WebSocket handshake request. When not specified, the 
WebSocket
+         * client will automatically determine the value for the Origin from 
the
+         * request URL.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param originHeaderUrl the value to set
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointConsumerBuilder originHeaderUrl(String 
originHeaderUrl) {
+            doSetProperty("originHeaderUrl", originHeaderUrl);
             return this;
         }
         /**
@@ -443,50 +468,79 @@ public interface VertxWebsocketEndpointBuilderFactory {
             doSetProperty("exchangePattern", exchangePattern);
             return this;
         }
-    }
-
-    /**
-     * Builder for endpoint producers for the Vert.x WebSocket component.
-     */
-    public interface VertxWebsocketEndpointProducerBuilder
-            extends
-                EndpointProducerBuilder {
-        default AdvancedVertxWebsocketEndpointProducerBuilder advanced() {
-            return (AdvancedVertxWebsocketEndpointProducerBuilder) this;
+        /**
+         * To use an existing vertx router for the HTTP server.
+         * 
+         * The option is a: <code>io.vertx.ext.web.Router</code> type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param router the value to set
+         * @return the dsl builder
+         */
+        default AdvancedVertxWebsocketEndpointConsumerBuilder 
router(io.vertx.ext.web.Router router) {
+            doSetProperty("router", router);
+            return this;
         }
-
         /**
-         * Sets customized options for configuring the WebSocket client used in
-         * the producer.
+         * To use an existing vertx router for the HTTP server.
          * 
-         * The option is a: <code>io.vertx.core.http.HttpClientOptions</code>
+         * The option will be converted to a
+         * <code>io.vertx.ext.web.Router</code> type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param router the value to set
+         * @return the dsl builder
+         */
+        default AdvancedVertxWebsocketEndpointConsumerBuilder router(String 
router) {
+            doSetProperty("router", router);
+            return this;
+        }
+        /**
+         * Sets customized options for configuring the HTTP server hosting the
+         * WebSocket for the consumer.
+         * 
+         * The option is a: <code>io.vertx.core.http.HttpServerOptions</code>
          * type.
          * 
-         * Group: producer
+         * Group: consumer (advanced)
          * 
-         * @param clientOptions the value to set
+         * @param serverOptions the value to set
          * @return the dsl builder
          */
-        default VertxWebsocketEndpointProducerBuilder 
clientOptions(io.vertx.core.http.HttpClientOptions clientOptions) {
-            doSetProperty("clientOptions", clientOptions);
+        default AdvancedVertxWebsocketEndpointConsumerBuilder 
serverOptions(io.vertx.core.http.HttpServerOptions serverOptions) {
+            doSetProperty("serverOptions", serverOptions);
             return this;
         }
         /**
-         * Sets customized options for configuring the WebSocket client used in
-         * the producer.
+         * Sets customized options for configuring the HTTP server hosting the
+         * WebSocket for the consumer.
          * 
          * The option will be converted to a
-         * <code>io.vertx.core.http.HttpClientOptions</code> type.
+         * <code>io.vertx.core.http.HttpServerOptions</code> type.
          * 
-         * Group: producer
+         * Group: consumer (advanced)
          * 
-         * @param clientOptions the value to set
+         * @param serverOptions the value to set
          * @return the dsl builder
          */
-        default VertxWebsocketEndpointProducerBuilder clientOptions(String 
clientOptions) {
-            doSetProperty("clientOptions", clientOptions);
+        default AdvancedVertxWebsocketEndpointConsumerBuilder 
serverOptions(String serverOptions) {
+            doSetProperty("serverOptions", serverOptions);
             return this;
         }
+    }
+
+    /**
+     * Builder for endpoint producers for the Vert.x WebSocket component.
+     */
+    public interface VertxWebsocketEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedVertxWebsocketEndpointProducerBuilder advanced() {
+            return (AdvancedVertxWebsocketEndpointProducerBuilder) this;
+        }
+
         /**
          * Comma separated list of WebSocket subprotocols that the client 
should
          * use for the Sec-WebSocket-Protocol header.
@@ -546,6 +600,96 @@ public interface VertxWebsocketEndpointBuilderFactory {
             doSetProperty("sendToAll", sendToAll);
             return this;
         }
+        /**
+         * Whether the WebSocket client should add the Origin header to the
+         * WebSocket handshake request.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: security
+         * 
+         * @param allowOriginHeader the value to set
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointProducerBuilder 
allowOriginHeader(boolean allowOriginHeader) {
+            doSetProperty("allowOriginHeader", allowOriginHeader);
+            return this;
+        }
+        /**
+         * Whether the WebSocket client should add the Origin header to the
+         * WebSocket handshake request.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: security
+         * 
+         * @param allowOriginHeader the value to set
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointProducerBuilder allowOriginHeader(String 
allowOriginHeader) {
+            doSetProperty("allowOriginHeader", allowOriginHeader);
+            return this;
+        }
+        /**
+         * Headers to send in the HTTP handshake request. When the endpoint is 
a
+         * consumer, it only works when it consumes a remote host as a client
+         * (i.e. consumeAsClient is true).
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * The option is multivalued, and you can use the
+         * handshakeHeaders(String, Object) method to add a value (call the
+         * method multiple times to set more values).
+         * 
+         * Group: security
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointProducerBuilder handshakeHeaders(String 
key, Object value) {
+            doSetMultiValueProperty("handshakeHeaders", "handshake." + key, 
value);
+            return this;
+        }
+        /**
+         * Headers to send in the HTTP handshake request. When the endpoint is 
a
+         * consumer, it only works when it consumes a remote host as a client
+         * (i.e. consumeAsClient is true).
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * The option is multivalued, and you can use the
+         * handshakeHeaders(String, Object) method to add a value (call the
+         * method multiple times to set more values).
+         * 
+         * Group: security
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointProducerBuilder handshakeHeaders(Map 
values) {
+            doSetMultiValueProperties("handshakeHeaders", "handshake.", 
values);
+            return this;
+        }
+        /**
+         * The value of the Origin header that the WebSocket client should use
+         * on the WebSocket handshake request. When not specified, the 
WebSocket
+         * client will automatically determine the value for the Origin from 
the
+         * request URL.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param originHeaderUrl the value to set
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointProducerBuilder originHeaderUrl(String 
originHeaderUrl) {
+            doSetProperty("originHeaderUrl", originHeaderUrl);
+            return this;
+        }
         /**
          * To configure security using SSLContextParameters.
          * 
@@ -586,6 +730,38 @@ public interface VertxWebsocketEndpointBuilderFactory {
             return (VertxWebsocketEndpointProducerBuilder) this;
         }
 
+        /**
+         * Sets customized options for configuring the WebSocket client used in
+         * the producer.
+         * 
+         * The option is a: <code>io.vertx.core.http.HttpClientOptions</code>
+         * type.
+         * 
+         * Group: producer (advanced)
+         * 
+         * @param clientOptions the value to set
+         * @return the dsl builder
+         */
+        default AdvancedVertxWebsocketEndpointProducerBuilder 
clientOptions(io.vertx.core.http.HttpClientOptions clientOptions) {
+            doSetProperty("clientOptions", clientOptions);
+            return this;
+        }
+        /**
+         * Sets customized options for configuring the WebSocket client used in
+         * the producer.
+         * 
+         * The option will be converted to a
+         * <code>io.vertx.core.http.HttpClientOptions</code> type.
+         * 
+         * Group: producer (advanced)
+         * 
+         * @param clientOptions the value to set
+         * @return the dsl builder
+         */
+        default AdvancedVertxWebsocketEndpointProducerBuilder 
clientOptions(String clientOptions) {
+            doSetProperty("clientOptions", clientOptions);
+            return this;
+        }
         /**
          * Whether the producer should be started lazy (on the first message).
          * By starting lazy you can use this to allow CamelContext and routes 
to
@@ -645,6 +821,96 @@ public interface VertxWebsocketEndpointBuilderFactory {
             return (AdvancedVertxWebsocketEndpointBuilder) this;
         }
 
+        /**
+         * Whether the WebSocket client should add the Origin header to the
+         * WebSocket handshake request.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: security
+         * 
+         * @param allowOriginHeader the value to set
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointBuilder allowOriginHeader(boolean 
allowOriginHeader) {
+            doSetProperty("allowOriginHeader", allowOriginHeader);
+            return this;
+        }
+        /**
+         * Whether the WebSocket client should add the Origin header to the
+         * WebSocket handshake request.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: security
+         * 
+         * @param allowOriginHeader the value to set
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointBuilder allowOriginHeader(String 
allowOriginHeader) {
+            doSetProperty("allowOriginHeader", allowOriginHeader);
+            return this;
+        }
+        /**
+         * Headers to send in the HTTP handshake request. When the endpoint is 
a
+         * consumer, it only works when it consumes a remote host as a client
+         * (i.e. consumeAsClient is true).
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * The option is multivalued, and you can use the
+         * handshakeHeaders(String, Object) method to add a value (call the
+         * method multiple times to set more values).
+         * 
+         * Group: security
+         * 
+         * @param key the option key
+         * @param value the option value
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointBuilder handshakeHeaders(String key, 
Object value) {
+            doSetMultiValueProperty("handshakeHeaders", "handshake." + key, 
value);
+            return this;
+        }
+        /**
+         * Headers to send in the HTTP handshake request. When the endpoint is 
a
+         * consumer, it only works when it consumes a remote host as a client
+         * (i.e. consumeAsClient is true).
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.Object&gt;</code> type.
+         * The option is multivalued, and you can use the
+         * handshakeHeaders(String, Object) method to add a value (call the
+         * method multiple times to set more values).
+         * 
+         * Group: security
+         * 
+         * @param values the values
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointBuilder handshakeHeaders(Map values) {
+            doSetMultiValueProperties("handshakeHeaders", "handshake.", 
values);
+            return this;
+        }
+        /**
+         * The value of the Origin header that the WebSocket client should use
+         * on the WebSocket handshake request. When not specified, the 
WebSocket
+         * client will automatically determine the value for the Origin from 
the
+         * request URL.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param originHeaderUrl the value to set
+         * @return the dsl builder
+         */
+        default VertxWebsocketEndpointBuilder originHeaderUrl(String 
originHeaderUrl) {
+            doSetProperty("originHeaderUrl", originHeaderUrl);
+            return this;
+        }
         /**
          * To configure security using SSLContextParameters.
          * 

Reply via email to