You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2022/04/06 15:22:46 UTC

[camel] 09/20: CAMEL-17792: Add doc about the message headers of camel-vertx-websocket

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

nfilotto pushed a commit to branch CAMEL-17792/doc-message-headers
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ee8a10482a748ce25195de0cbf8d5b19cefe4b51
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Wed Apr 6 12:45:25 2022 +0200

    CAMEL-17792: Add doc about the message headers of camel-vertx-websocket
---
 .../component/vertx/websocket/vertx-websocket.json   |  5 +++++
 .../src/main/docs/vertx-websocket-component.adoc     | 20 ++++----------------
 .../vertx/websocket/VertxWebsocketConstants.java     |  8 ++++++++
 .../vertx/websocket/VertxWebsocketEndpoint.java      |  3 ++-
 4 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/components/camel-vertx/camel-vertx-websocket/src/generated/resources/org/apache/camel/component/vertx/websocket/vertx-websocket.json b/components/camel-vertx/camel-vertx-websocket/src/generated/resources/org/apache/camel/component/vertx/websocket/vertx-websocket.json
index b4e1e1a2584..c27a696c4ab 100644
--- a/components/camel-vertx/camel-vertx-websocket/src/generated/resources/org/apache/camel/component/vertx/websocket/vertx-websocket.json
+++ b/components/camel-vertx/camel-vertx-websocket/src/generated/resources/org/apache/camel/component/vertx/websocket/vertx-websocket.json
@@ -30,6 +30,11 @@
     "vertxOptions": { "kind": "property", "displayName": "Vertx Options", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.vertx.core.VertxOptions", "deprecated": false, "autowired": false, "secret": false, "description": "To provide a custom set of vertx options for configuring vertx" },
     "useGlobalSslContextParameters": { "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable usage of global SSL context parameters." }
   },
+  "headers": {
+    "CamelVertxWebsocket.connectionKey": { "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sends the message to the client with the given connection key. You can use a comma separated list of keys to send a message to multiple clients" },
+    "CamelVertxWebsocket.sendToAll": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sends the message to all clients which are currently connected. You can use the sendToAll option on the endpoint instead of using this header." },
+    "CamelVertxWebsocket.remoteAddress": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.vertx.core.net.SocketAddress", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The remote address." }
+  },
   "properties": {
     "host": { "kind": "path", "displayName": "Host", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0.0.0.0", "configurationClass": "org.apache.camel.component.vertx.websocket.VertxWebsocketConfiguration", "configurationField": "configuration", "description": "The host that the consumer should bind to or the host of the remote websocket destination that the pro [...]
     "port": { "kind": "path", "displayName": "Port", "group": "common", "label": "", "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": "The port that the consumer should bind to or port of the remote websocket destination that the producer should connect to" },
diff --git a/components/camel-vertx/camel-vertx-websocket/src/main/docs/vertx-websocket-component.adoc b/components/camel-vertx/camel-vertx-websocket/src/main/docs/vertx-websocket-component.adoc
index 94f2ea72278..4044eefb293 100644
--- a/components/camel-vertx/camel-vertx-websocket/src/main/docs/vertx-websocket-component.adoc
+++ b/components/camel-vertx/camel-vertx-websocket/src/main/docs/vertx-websocket-component.adoc
@@ -49,21 +49,9 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
-
-
-== Message Headers
-
-The WebSocket component uses 2 headers to indicate to either send
-messages back to a single/current client, or to all clients.
-
-[width="100%",cols="10%,90%",options="header",]
-|=======================================================================
-| Name | Description
-|`VertxWebsocketConstants.SEND_TO_ALL` |Sends the message to all clients which are currently connected. You can
-use the `sendToAll` option on the endpoint instead of using this header.
-|`VertxWebsocketConstants.CONNECTION_KEY` |Sends the message to the client with the given connection key. You can
-use a comma separated list of keys to send a message to multiple clients
-|=======================================================================
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Usage
 The following example shows how to expose a WebSocket on http://localhost:8080/echo and returns an 'echo' response back to the same channel:
@@ -77,7 +65,7 @@ from("vertx-websocket:localhost:8080/echo")
 
 == SSL
 
-By default the `ws://` protocol is used, but secure connections with `wss://` are supported by configuring the consumer or producer
+By default, the `ws://` protocol is used, but secure connections with `wss://` are supported by configuring the consumer or producer
 via the `sslContextParameters` URI parameter and the xref:manual::camel-configuration-utilities.adoc[Camel JSSE Configuration Utility]
 
 
diff --git a/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConstants.java b/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConstants.java
index 5f3c92865d8..1df5ba129a2 100644
--- a/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConstants.java
+++ b/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConstants.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.vertx.websocket;
 
 import io.vertx.core.net.NetServerOptions;
+import org.apache.camel.spi.Metadata;
 
 public final class VertxWebsocketConstants {
 
@@ -24,8 +25,15 @@ public final class VertxWebsocketConstants {
     public static final int DEFAULT_VERTX_SERVER_PORT = NetServerOptions.DEFAULT_PORT;
     public static final String DEFAULT_VERTX_SERVER_PATH = "/";
 
+    @Metadata(description = "Sends the message to the client with the given connection key. You can\n" +
+                            "use a comma separated list of keys to send a message to multiple clients",
+              javaType = "String")
     public static final String CONNECTION_KEY = "CamelVertxWebsocket.connectionKey";
+    @Metadata(label = "producer", description = "Sends the message to all clients which are currently connected. You can\n" +
+                                                "use the `sendToAll` option on the endpoint instead of using this header.",
+              javaType = "boolean")
     public static final String SEND_TO_ALL = "CamelVertxWebsocket.sendToAll";
+    @Metadata(label = "consumer", description = "The remote address.", javaType = "io.vertx.core.net.SocketAddress")
     public static final String REMOTE_ADDRESS = "CamelVertxWebsocket.remoteAddress";
 
     private VertxWebsocketConstants() {
diff --git a/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java b/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
index e84237d510a..750c81dbf1d 100644
--- a/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
+++ b/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
@@ -43,7 +43,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @UriEndpoint(firstVersion = "3.5.0", scheme = "vertx-websocket", title = "Vert.x WebSocket",
-             syntax = "vertx-websocket:host:port/path", category = { Category.WEBSOCKET })
+             syntax = "vertx-websocket:host:port/path", category = { Category.WEBSOCKET },
+             headersClass = VertxWebsocketConstants.class)
 public class VertxWebsocketEndpoint extends DefaultEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(VertxWebsocketEndpoint.class);