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/04 16:48:19 UTC
[camel] 04/06: CAMEL-17792: Add doc about the message headers of camel-resteasy
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 <nf...@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()));
}