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 f07d2b79de79221ca294c3836a2f1d9587a46882
Author: Nicolas Filotto <nfilo...@talend.com>
AuthorDate: Mon Apr 4 17:38:21 2022 +0200

    CAMEL-17792: Add doc about the message headers of camel-resteasy
---
 .../org/apache/camel/component/resteasy/resteasy.json   | 13 +++++++++++++
 .../src/main/docs/resteasy-component.adoc               |  3 +++
 .../camel/component/resteasy/ResteasyConstants.java     | 17 +++++++++++++++++
 .../camel/component/resteasy/ResteasyEndpoint.java      |  3 ++-
 .../camel/component/resteasy/ResteasyProducer.java      |  6 +++---
 .../resteasy/servlet/ResteasyCamelServlet.java          |  4 ++--
 6 files changed, 40 insertions(+), 6 deletions(-)

diff --git 
a/components/camel-resteasy/src/generated/resources/org/apache/camel/component/resteasy/resteasy.json
 
b/components/camel-resteasy/src/generated/resources/org/apache/camel/component/resteasy/resteasy.json
index 7c5202837dc..f4c848eb078 100644
--- 
a/components/camel-resteasy/src/generated/resources/org/apache/camel/component/resteasy/resteasy.json
+++ 
b/components/camel-resteasy/src/generated/resources/org/apache/camel/component/resteasy/resteasy.json
@@ -43,6 +43,19 @@
     "redirectHandlingDisabled": { "kind": "property", "displayName": "Redirect 
Handling Disabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Disables automatic redirect handling" },
     "headerFilterStrategy": { "kind": "property", "displayName": "Header 
Filter Strategy", "group": "filter", "label": "filter", "required": false, 
"type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and 
from Camel message." }
   },
+  "headers": {
+    "CamelResteasyProxyMethod": { "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The resteasy method to process the request" },
+    "CamelResteasyProxyMethodArgs": { "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"java.util.ArrayList", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The proxy method params" },
+    "CamelResteasyLogin": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The username" },
+    "CamelResteasyPassword": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The password" },
+    "CamelResteasyContextPath": { "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The context path" },
+    "CamelResteasyHttpMethod": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The resteasy method to process the request" },
+    "CamelResteasyHttpRequest": { "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The http request" },
+    "CamelResteasyProxyProducerException": { "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Exception", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The proxy client exception" },
+    "CamelHttpQuery": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The http query" },
+    "Content-Type": { "kind": "header", "displayName": "", "group": 
"producer", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The content type" },
+    "CamelHttpPath": { "kind": "header", "displayName": "", "group": "common", 
"label": "", "required": false, "javaType": "String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
http path" }
+  },
   "properties": {
     "httpUri": { "kind": "path", "displayName": "Http Uri", "group": "common", 
"label": "common", "required": true, "type": "string", "javaType": 
"java.net.URI", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The url of the HTTP endpoint to call." },
     "disableStreamCache": { "kind": "parameter", "displayName": "Disable 
Stream Cache", "group": "common", "label": "common", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Determines whether or 
not the raw input stream from Servlet is cached or not (Camel will read the 
stream into a in memory\/overflow to file, Stream caching) cache. By default 
Camel will cache the Servlet inpu [...]
diff --git a/components/camel-resteasy/src/main/docs/resteasy-component.adoc 
b/components/camel-resteasy/src/main/docs/resteasy-component.adoc
index 7700e4a2fe8..17121651884 100644
--- a/components/camel-resteasy/src/main/docs/resteasy-component.adoc
+++ b/components/camel-resteasy/src/main/docs/resteasy-component.adoc
@@ -49,6 +49,9 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 === Usage
 
diff --git 
a/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyConstants.java
 
b/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyConstants.java
index a572b851c3c..7f8ab940368 100644
--- 
a/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyConstants.java
+++ 
b/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyConstants.java
@@ -16,20 +16,37 @@
  */
 package org.apache.camel.component.resteasy;
 
+import org.apache.camel.Exchange;
+import org.apache.camel.spi.Metadata;
+
 /**
  * Constants used in the Resteasy component
  *
  */
 public final class ResteasyConstants {
+    @Metadata(label = "producer", description = "The resteasy method to 
process the request", javaType = "String")
     public static final String RESTEASY_PROXY_METHOD = 
"CamelResteasyProxyMethod";
+    @Metadata(label = "producer", description = "The proxy method params", 
javaType = "java.util.ArrayList")
     public static final String RESTEASY_PROXY_METHOD_PARAMS = 
"CamelResteasyProxyMethodArgs";
+    @Metadata(label = "producer", description = "The username", javaType = 
"String")
     public static final String RESTEASY_USERNAME = "CamelResteasyLogin";
+    @Metadata(label = "producer", description = "The password", javaType = 
"String")
     public static final String RESTEASY_PASSWORD = "CamelResteasyPassword";
+    @Metadata(description = "The context path", javaType = "String")
     public static final String RESTEASY_CONTEXT_PATH = 
"CamelResteasyContextPath";
     public static final String RESTEASY_RESPONSE = "CamelResteasyResponse";
+    @Metadata(label = "producer", description = "The resteasy method to 
process the request", javaType = "String")
     public static final String RESTEASY_HTTP_METHOD = 
"CamelResteasyHttpMethod";
+    @Metadata(description = "The http request", javaType = "String")
     public static final String RESTEASY_HTTP_REQUEST = 
"CamelResteasyHttpRequest";
+    @Metadata(label = "producer", description = "The proxy client exception", 
javaType = "Exception")
     public static final String RESTEASY_PROXY_PRODUCER_EXCEPTION = 
"CamelResteasyProxyProducerException";
+    @Metadata(label = "producer", description = "The http query", javaType = 
"String")
+    public static final String HTTP_QUERY = Exchange.HTTP_QUERY;
+    @Metadata(label = "producer", description = "The content type", javaType = 
"String")
+    public static final String CONTENT_TYPE = Exchange.CONTENT_TYPE;
+    @Metadata(description = "The http path", javaType = "String")
+    public static final String HTTP_PATH = Exchange.HTTP_PATH;
 
     /**
      * Utility classes should not have a public constructor.
diff --git 
a/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyEndpoint.java
 
b/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyEndpoint.java
index 4798ff4e5c8..1676c70b1de 100644
--- 
a/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyEndpoint.java
+++ 
b/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyEndpoint.java
@@ -34,7 +34,8 @@ import org.slf4j.LoggerFactory;
  * Expose REST endpoints and access external REST servers.
  */
 @UriEndpoint(firstVersion = "3.4.0", scheme = "resteasy", extendsScheme = 
"http",
-             title = "Resteasy", syntax = "resteasy:httpUri", category = { 
Category.REST })
+             title = "Resteasy", syntax = "resteasy:httpUri", category = { 
Category.REST },
+             headersClass = ResteasyConstants.class)
 @Metadata(excludeProperties = 
"clientConnectionManager,connectionsPerRoute,connectionTimeToLive,"
                               + 
"httpBinding,httpClientConfigurer,httpConfiguration,httpContext,httpRegistry,maxTotalConnections,connectionRequestTimeout,"
                               + 
"connectTimeout,socketTimeout,cookieStore,x509HostnameVerifier,sslContextParameters,"
diff --git 
a/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyProducer.java
 
b/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyProducer.java
index 8d289c0de46..4fddd18039c 100644
--- 
a/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyProducer.java
+++ 
b/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/ResteasyProducer.java
@@ -61,12 +61,12 @@ public class ResteasyProducer extends DefaultProducer {
         ResteasyEndpoint resteasyEndpoint = 
ObjectHelper.cast(ResteasyEndpoint.class, getEndpoint());
         Map<String, String> parameters = getParameters(exchange, 
resteasyEndpoint);
 
-        String query = exchange.getIn().getHeader(Exchange.HTTP_QUERY, 
String.class);
+        String query = 
exchange.getIn().getHeader(ResteasyConstants.HTTP_QUERY, String.class);
         String uri = resteasyEndpoint.buildUri();
         if (query != null) {
             LOG.debug("Adding query: {} to uri: {}", query, uri);
             uri = addQueryToUri(uri, query);
-            LOG.debug("URI: {} populated via Exchange.HTTP_QUERY header", uri);
+            LOG.debug("URI: {} populated via ResteasyConstants.HTTP_QUERY 
header", uri);
         }
 
         WebTarget resteasyWebTarget = createWebClientTarget(uri);
@@ -247,7 +247,7 @@ public class ResteasyProducer extends DefaultProducer {
         String body = exchange.getIn().getBody(String.class);
         LOG.debug("Body in producer: {}", body);
 
-        String mediaType = exchange.getIn().getHeader(Exchange.CONTENT_TYPE, 
String.class);
+        String mediaType = 
exchange.getIn().getHeader(ResteasyConstants.CONTENT_TYPE, String.class);
 
         LOG.debug("Populate Resteasy request from exchange body: {} using 
media type {}", body, mediaType);
 
diff --git 
a/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/servlet/ResteasyCamelServlet.java
 
b/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/servlet/ResteasyCamelServlet.java
index 419251cd4a8..fccd37f9776 100644
--- 
a/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/servlet/ResteasyCamelServlet.java
+++ 
b/components/camel-resteasy/src/main/java/org/apache/camel/component/resteasy/servlet/ResteasyCamelServlet.java
@@ -241,11 +241,11 @@ public class ResteasyCamelServlet extends 
HttpServletDispatcher implements HttpR
         // Maybe send request to camel also for some logging or something
         exchange.getIn().setHeader(ResteasyConstants.RESTEASY_HTTP_REQUEST, 
httpServletRequest);
 
-        String httpPath = (String) 
exchange.getIn().getHeader(Exchange.HTTP_PATH);
+        String httpPath = (String) 
exchange.getIn().getHeader(ResteasyConstants.HTTP_PATH);
         // here we just remove the CamelServletContextPath part from the 
HTTP_PATH
         if (contextPath != null
                 && httpPath.startsWith(contextPath)) {
-            exchange.getIn().setHeader(Exchange.HTTP_PATH,
+            exchange.getIn().setHeader(ResteasyConstants.HTTP_PATH,
                     httpPath.substring(contextPath.length()));
         }
 

Reply via email to