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 <[email protected]>
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<java.lang.String,
+ * java.lang.Object></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<java.lang.String,
+ * java.lang.Object></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<java.lang.String,
+ * java.lang.Object></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<java.lang.String,
+ * java.lang.Object></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<java.lang.String,
+ * java.lang.Object></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<java.lang.String,
+ * java.lang.Object></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.
*