You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2025/05/04 08:05:56 UTC
(camel) branch main updated: camel-vertx-websocket: improve labels for options related to security
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 <cl...@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<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.
*