You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2026/03/20 11:11:48 UTC
(camel) branch 23222-main created (now 79fbb38ff992)
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a change to branch 23222-main
in repository https://gitbox.apache.org/repos/asf/camel.git
at 79fbb38ff992 CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping
This branch includes the following new commits:
new e4909a97a03c CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping
new 0b191e127012 Make AvailablePort public to fix compilation in camel-ldap
new 79fbb38ff992 CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(camel) 03/03: CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping
Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch 23222-main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 79fbb38ff99242d0d294bdb125e1f6fa6c96e39c
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Mar 20 10:48:27 2026 +0100
CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
.../apache/camel/catalog/components/coap+tcp.json | 22 ++---
.../org/apache/camel/catalog/components/coap.json | 22 ++---
.../apache/camel/catalog/components/coaps+tcp.json | 22 ++---
.../org/apache/camel/catalog/components/coaps.json | 22 ++---
.../component/mail/MailHeaderFilterStrategy.java | 1 +
.../component/dsl/CoapComponentBuilderFactory.java | 19 +++++
.../dsl/CoapTcpComponentBuilderFactory.java | 19 +++++
.../dsl/CoapsComponentBuilderFactory.java | 19 +++++
.../dsl/CoapsTcpComponentBuilderFactory.java | 19 +++++
.../endpoint/dsl/CoAPEndpointBuilderFactory.java | 96 ++++++++++++++++++++++
10 files changed, 221 insertions(+), 40 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
index 162769ef7cc8..1d7fa1a2b9f4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
@@ -29,7 +29,8 @@
"bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "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 messages, or the like [...]
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
"client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
- "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "headerFilterStrategy": { "index": 5, "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": {
"CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
"notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
"client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
"lazyStartProducer": { "index": 9, "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 produc [...]
- "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
- "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
- "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
- "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
- "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
- "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
- "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
- "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
- "sslContextParameters": { "index": 18, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
+ "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+ "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
+ "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
+ "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
+ "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
+ "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
+ "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
+ "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
+ "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
+ "sslContextParameters": { "index": 19, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
index 6506e161568a..a6de71b35037 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
@@ -29,7 +29,8 @@
"bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "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 messages, or the like [...]
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
"client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
- "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "headerFilterStrategy": { "index": 5, "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": {
"CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
"notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
"client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
"lazyStartProducer": { "index": 9, "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 produc [...]
- "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
- "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
- "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
- "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
- "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
- "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
- "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
- "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
- "sslContextParameters": { "index": 18, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
+ "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+ "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
+ "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
+ "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
+ "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
+ "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
+ "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
+ "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
+ "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
+ "sslContextParameters": { "index": 19, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
index bfbc4b50c7ab..ed8b17a5e47c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
@@ -29,7 +29,8 @@
"bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "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 messages, or the like [...]
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
"client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
- "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "headerFilterStrategy": { "index": 5, "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": {
"CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
"notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
"client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
"lazyStartProducer": { "index": 9, "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 produc [...]
- "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
- "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
- "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
- "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
- "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
- "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
- "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
- "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
- "sslContextParameters": { "index": 18, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
+ "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+ "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
+ "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
+ "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
+ "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
+ "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
+ "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
+ "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
+ "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
+ "sslContextParameters": { "index": 19, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
index fef25a486610..b8b6383aff75 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
@@ -29,7 +29,8 @@
"bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "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 messages, or the like [...]
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
"client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
- "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "headerFilterStrategy": { "index": 5, "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": {
"CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
"notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
"client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
"lazyStartProducer": { "index": 9, "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 produc [...]
- "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
- "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
- "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
- "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
- "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
- "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
- "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
- "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
- "sslContextParameters": { "index": 18, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
+ "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+ "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
+ "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
+ "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
+ "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
+ "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
+ "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
+ "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
+ "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
+ "sslContextParameters": { "index": 19, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
}
}
diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java
index 7c35a9f95e61..659cdcfbb039 100644
--- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java
+++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java
@@ -28,6 +28,7 @@ public class MailHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
setLowerCase(true);
// filter headers begin with "Camel" or "org.apache.camel"
setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
+ setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
}
}
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
index 33a6989c2182..1dba2bbc9a2a 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
@@ -159,6 +159,24 @@ public interface CoapComponentBuilderFactory {
doSetProperty("autowiredEnabled", autowiredEnabled);
return this;
}
+
+ /**
+ * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+ * header to and from Camel message.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code>
+ * type.
+ *
+ * Group: filter
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default CoapComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
}
class CoapComponentBuilderImpl
@@ -179,6 +197,7 @@ public interface CoapComponentBuilderFactory {
case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
+ case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
default: return false;
}
}
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
index edcd2ae2f46d..11b29e601757 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
@@ -159,6 +159,24 @@ public interface CoapTcpComponentBuilderFactory {
doSetProperty("autowiredEnabled", autowiredEnabled);
return this;
}
+
+ /**
+ * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+ * header to and from Camel message.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code>
+ * type.
+ *
+ * Group: filter
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default CoapTcpComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
}
class CoapTcpComponentBuilderImpl
@@ -179,6 +197,7 @@ public interface CoapTcpComponentBuilderFactory {
case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
+ case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
default: return false;
}
}
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
index 507814d2fd12..230e12cb65f7 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
@@ -159,6 +159,24 @@ public interface CoapsComponentBuilderFactory {
doSetProperty("autowiredEnabled", autowiredEnabled);
return this;
}
+
+ /**
+ * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+ * header to and from Camel message.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code>
+ * type.
+ *
+ * Group: filter
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default CoapsComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
}
class CoapsComponentBuilderImpl
@@ -179,6 +197,7 @@ public interface CoapsComponentBuilderFactory {
case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
+ case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
default: return false;
}
}
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
index d947183a0613..3537d1965109 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
@@ -159,6 +159,24 @@ public interface CoapsTcpComponentBuilderFactory {
doSetProperty("autowiredEnabled", autowiredEnabled);
return this;
}
+
+ /**
+ * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+ * header to and from Camel message.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code>
+ * type.
+ *
+ * Group: filter
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default CoapsTcpComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
}
class CoapsTcpComponentBuilderImpl
@@ -179,6 +197,7 @@ public interface CoapsTcpComponentBuilderFactory {
case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
+ case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
default: return false;
}
}
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
index b2a8ef0d6d19..badd384b51f1 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
@@ -510,6 +510,38 @@ public interface CoAPEndpointBuilderFactory {
doSetProperty("exchangePattern", exchangePattern);
return this;
}
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: advanced
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default AdvancedCoAPEndpointConsumerBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ *
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: advanced
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default AdvancedCoAPEndpointConsumerBuilder headerFilterStrategy(String headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
}
/**
@@ -905,6 +937,38 @@ public interface CoAPEndpointBuilderFactory {
doSetProperty("lazyStartProducer", lazyStartProducer);
return this;
}
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: advanced
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default AdvancedCoAPEndpointProducerBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ *
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: advanced
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default AdvancedCoAPEndpointProducerBuilder headerFilterStrategy(String headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
}
/**
@@ -1194,6 +1258,38 @@ public interface CoAPEndpointBuilderFactory {
return (CoAPEndpointBuilder) this;
}
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: advanced
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default AdvancedCoAPEndpointBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ *
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: advanced
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default AdvancedCoAPEndpointBuilder headerFilterStrategy(String headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
}
public interface CoAPBuilders {
(camel) 02/03: Make AvailablePort public to fix compilation in camel-ldap
Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch 23222-main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 0b191e127012b685476712704a8d3f775edad355
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Mar 20 10:27:40 2026 +0100
Make AvailablePort public to fix compilation in camel-ldap
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
.../src/main/java/org/apache/camel/test/AvailablePort.java | 2 +-
.../src/main/java/org/apache/camel/test/AvailablePort.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/AvailablePort.java b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/AvailablePort.java
index ee020f04ecb5..4503d13ae06b 100644
--- a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/AvailablePort.java
+++ b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/AvailablePort.java
@@ -24,7 +24,7 @@ import java.net.ServerSocket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-final class AvailablePort {
+public final class AvailablePort {
private static final Logger LOG = LoggerFactory.getLogger(AvailablePort.class);
/**
diff --git a/components/camel-test/camel-test-junit6/src/main/java/org/apache/camel/test/AvailablePort.java b/components/camel-test/camel-test-junit6/src/main/java/org/apache/camel/test/AvailablePort.java
index ee020f04ecb5..4503d13ae06b 100644
--- a/components/camel-test/camel-test-junit6/src/main/java/org/apache/camel/test/AvailablePort.java
+++ b/components/camel-test/camel-test-junit6/src/main/java/org/apache/camel/test/AvailablePort.java
@@ -24,7 +24,7 @@ import java.net.ServerSocket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-final class AvailablePort {
+public final class AvailablePort {
private static final Logger LOG = LoggerFactory.getLogger(AvailablePort.class);
/**
(camel) 01/03: CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping
Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch 23222-main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit e4909a97a03ce1444abc6b70fbb0dc7cbbd7ffa9
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Mar 20 10:15:02 2026 +0100
CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
.../apache/camel/coap/CoAPComponentConfigurer.java | 6 ++++
.../apache/camel/coap/CoAPEndpointConfigurer.java | 6 ++++
.../apache/camel/coap/CoAPEndpointUriFactory.java | 3 +-
.../META-INF/org/apache/camel/coap/coap+tcp.json | 22 ++++++++-------
.../META-INF/org/apache/camel/coap/coap.json | 22 ++++++++-------
.../META-INF/org/apache/camel/coap/coaps+tcp.json | 22 ++++++++-------
.../META-INF/org/apache/camel/coap/coaps.json | 22 ++++++++-------
.../org/apache/camel/coap/CamelCoapResource.java | 14 +++++++--
.../java/org/apache/camel/coap/CoAPComponent.java | 23 ++++++++++++++-
.../java/org/apache/camel/coap/CoAPEndpoint.java | 23 ++++++++++++++-
.../camel/coap/CoAPHeaderFilterStrategy.java | 33 ++++++++++++++++++++++
11 files changed, 151 insertions(+), 45 deletions(-)
diff --git a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java
index aa4a8a79789a..6c46ac960238 100644
--- a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java
+++ b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java
@@ -30,6 +30,8 @@ public class CoAPComponentConfigurer extends PropertyConfigurerSupport implement
case "client": target.setClient(property(camelContext, org.eclipse.californium.core.CoapClient.class, value)); return true;
case "configurationfile":
case "configurationFile": target.setConfigurationFile(property(camelContext, java.lang.String.class, value)); return true;
+ case "headerfilterstrategy":
+ case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
case "lazystartproducer":
case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
default: return false;
@@ -46,6 +48,8 @@ public class CoAPComponentConfigurer extends PropertyConfigurerSupport implement
case "client": return org.eclipse.californium.core.CoapClient.class;
case "configurationfile":
case "configurationFile": return java.lang.String.class;
+ case "headerfilterstrategy":
+ case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
case "lazystartproducer":
case "lazyStartProducer": return boolean.class;
default: return null;
@@ -63,6 +67,8 @@ public class CoAPComponentConfigurer extends PropertyConfigurerSupport implement
case "client": return target.getClient();
case "configurationfile":
case "configurationFile": return target.getConfigurationFile();
+ case "headerfilterstrategy":
+ case "headerFilterStrategy": return target.getHeaderFilterStrategy();
case "lazystartproducer":
case "lazyStartProducer": return target.isLazyStartProducer();
default: return null;
diff --git a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java
index cce9f88d3e7a..1aa15f3a4bac 100644
--- a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java
+++ b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java
@@ -41,6 +41,8 @@ public class CoAPEndpointConfigurer extends PropertyConfigurerSupport implements
case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
case "exchangepattern":
case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
+ case "headerfilterstrategy":
+ case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
case "lazystartproducer":
case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
case "notify": target.setNotify(property(camelContext, boolean.class, value)); return true;
@@ -79,6 +81,8 @@ public class CoAPEndpointConfigurer extends PropertyConfigurerSupport implements
case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
case "exchangepattern":
case "exchangePattern": return org.apache.camel.ExchangePattern.class;
+ case "headerfilterstrategy":
+ case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
case "lazystartproducer":
case "lazyStartProducer": return boolean.class;
case "notify": return boolean.class;
@@ -118,6 +122,8 @@ public class CoAPEndpointConfigurer extends PropertyConfigurerSupport implements
case "exceptionHandler": return target.getExceptionHandler();
case "exchangepattern":
case "exchangePattern": return target.getExchangePattern();
+ case "headerfilterstrategy":
+ case "headerFilterStrategy": return target.getHeaderFilterStrategy();
case "lazystartproducer":
case "lazyStartProducer": return target.isLazyStartProducer();
case "notify": return target.isNotify();
diff --git a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java
index 38524be0f1f4..b8763ad90323 100644
--- a/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java
+++ b/components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java
@@ -24,7 +24,7 @@ public class CoAPEndpointUriFactory extends org.apache.camel.support.component.E
private static final Set<String> SECRET_PROPERTY_NAMES;
private static final Map<String, String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(19);
+ Set<String> props = new HashSet<>(20);
props.add("advancedCertificateVerifier");
props.add("advancedPskStore");
props.add("alias");
@@ -35,6 +35,7 @@ public class CoAPEndpointUriFactory extends org.apache.camel.support.component.E
props.add("coapMethodRestrict");
props.add("exceptionHandler");
props.add("exchangePattern");
+ props.add("headerFilterStrategy");
props.add("lazyStartProducer");
props.add("notify");
props.add("observable");
diff --git a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json
index 162769ef7cc8..1d7fa1a2b9f4 100644
--- a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json
+++ b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json
@@ -29,7 +29,8 @@
"bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "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 messages, or the like [...]
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
"client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
- "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "headerFilterStrategy": { "index": 5, "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": {
"CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
"notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
"client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
"lazyStartProducer": { "index": 9, "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 produc [...]
- "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
- "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
- "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
- "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
- "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
- "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
- "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
- "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
- "sslContextParameters": { "index": 18, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
+ "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+ "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
+ "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
+ "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
+ "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
+ "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
+ "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
+ "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
+ "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
+ "sslContextParameters": { "index": 19, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
}
}
diff --git a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json
index 6506e161568a..a6de71b35037 100644
--- a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json
+++ b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json
@@ -29,7 +29,8 @@
"bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "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 messages, or the like [...]
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
"client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
- "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "headerFilterStrategy": { "index": 5, "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": {
"CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
"notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
"client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
"lazyStartProducer": { "index": 9, "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 produc [...]
- "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
- "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
- "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
- "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
- "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
- "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
- "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
- "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
- "sslContextParameters": { "index": 18, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
+ "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+ "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
+ "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
+ "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
+ "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
+ "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
+ "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
+ "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
+ "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
+ "sslContextParameters": { "index": 19, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
}
}
diff --git a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json
index bfbc4b50c7ab..ed8b17a5e47c 100644
--- a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json
+++ b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json
@@ -29,7 +29,8 @@
"bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "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 messages, or the like [...]
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
"client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
- "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "headerFilterStrategy": { "index": 5, "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": {
"CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
"notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
"client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
"lazyStartProducer": { "index": 9, "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 produc [...]
- "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
- "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
- "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
- "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
- "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
- "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
- "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
- "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
- "sslContextParameters": { "index": 18, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
+ "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+ "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
+ "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
+ "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
+ "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
+ "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
+ "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
+ "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
+ "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
+ "sslContextParameters": { "index": 19, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
}
}
diff --git a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json
index fef25a486610..b8b6383aff75 100644
--- a/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json
+++ b/components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json
@@ -29,7 +29,8 @@
"bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "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 messages, or the like [...]
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
"client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
- "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+ "headerFilterStrategy": { "index": 5, "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": {
"CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
"notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
"client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
"lazyStartProducer": { "index": 9, "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 produc [...]
- "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
- "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
- "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
- "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
- "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
- "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
- "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
- "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
- "sslContextParameters": { "index": 18, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
+ "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+ "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
+ "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
+ "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client sid [...]
+ "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
+ "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE [...]
+ "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
+ "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
+ "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
+ "sslContextParameters": { "index": 19, "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, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
}
}
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java
index 25cd4fc109aa..161d8612c357 100644
--- a/components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java
@@ -22,6 +22,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.camel.Message;
+import org.apache.camel.spi.HeaderFilterStrategy;
import org.eclipse.californium.core.CoapResource;
import org.eclipse.californium.core.coap.CoAP.ResponseCode;
import org.eclipse.californium.core.coap.MediaTypeRegistry;
@@ -99,13 +100,22 @@ final class CamelCoapResource extends CoapResource {
camelExchange = consumer.createExchange(false);
consumer.createUoW(camelExchange);
+ HeaderFilterStrategy strategy = consumer.getCoapEndpoint().getHeaderFilterStrategy();
OptionSet options = exchange.getRequest().getOptions();
for (String s : options.getUriQuery()) {
int i = s.indexOf('=');
+ String name;
+ String value;
if (i == -1) {
- camelExchange.getIn().setHeader(s, "");
+ name = s;
+ value = "";
} else {
- camelExchange.getIn().setHeader(s.substring(0, i), s.substring(i + 1));
+ name = s.substring(0, i);
+ value = s.substring(i + 1);
+ }
+ if (strategy == null
+ || !strategy.applyFilterToExternalHeaders(name, value, camelExchange)) {
+ camelExchange.getIn().setHeader(name, value);
}
}
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
index 4b0b19cd9d68..19adfe6da90b 100644
--- a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
@@ -32,6 +32,8 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
+import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.spi.HeaderFilterStrategyAware;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.RestConsumerFactory;
@@ -59,7 +61,7 @@ import org.slf4j.LoggerFactory;
* Represents the component that manages {@link CoAPEndpoint}.
*/
@Component("coap,coaps,coap+tcp,coaps+tcp")
-public class CoAPComponent extends DefaultComponent implements RestConsumerFactory {
+public class CoAPComponent extends DefaultComponent implements RestConsumerFactory, HeaderFilterStrategyAware {
static final int DEFAULT_PORT = 5684;
private static final Logger LOG = LoggerFactory.getLogger(CoAPComponent.class);
@@ -67,6 +69,9 @@ public class CoAPComponent extends DefaultComponent implements RestConsumerFacto
private String configurationFile;
@Metadata(label = "producer,advanced")
private CoapClient client;
+ @Metadata(label = "filter",
+ description = "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.")
+ private HeaderFilterStrategy headerFilterStrategy;
final Map<Integer, CoapServer> servers = new ConcurrentHashMap<>();
@@ -156,10 +161,26 @@ public class CoAPComponent extends DefaultComponent implements RestConsumerFacto
coapBuilder.setConnector(connector);
}
+ @Override
+ public HeaderFilterStrategy getHeaderFilterStrategy() {
+ return headerFilterStrategy;
+ }
+
+ /**
+ * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to filter header to and from Camel message.
+ */
+ @Override
+ public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
+ this.headerFilterStrategy = headerFilterStrategy;
+ }
+
@Override
protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
CoAPEndpoint endpoint = new CoAPEndpoint(uri, this);
endpoint.setClient(client);
+ if (headerFilterStrategy != null) {
+ endpoint.setHeaderFilterStrategy(headerFilterStrategy);
+ }
setProperties(endpoint, parameters);
return endpoint;
}
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
index 40b694b07b27..cc4b6d036d2f 100644
--- a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
@@ -38,6 +38,8 @@ import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.spi.EndpointServiceLocation;
+import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.spi.HeaderFilterStrategyAware;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
@@ -76,7 +78,7 @@ import static org.eclipse.californium.scandium.config.DtlsConfig.DTLS_RECOMMENDE
*/
@UriEndpoint(firstVersion = "2.16.0", scheme = "coap,coaps,coap+tcp,coaps+tcp", title = "CoAP", syntax = "coap:uri",
category = { Category.IOT }, headersClass = CoAPConstants.class)
-public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLocation {
+public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLocation, HeaderFilterStrategyAware {
final static Logger LOGGER = LoggerFactory.getLogger(CoAPEndpoint.class);
@UriPath
private URI uri;
@@ -109,6 +111,9 @@ public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLoca
private boolean notify;
@UriParam(label = "producer,advanced")
private CoapClient client;
+ @UriParam(label = "advanced",
+ description = "To use a custom HeaderFilterStrategy to filter header to and from Camel message.")
+ private HeaderFilterStrategy headerFilterStrategy;
private CoAPComponent component;
@@ -272,6 +277,22 @@ public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLoca
this.client = client;
}
+ @Override
+ public HeaderFilterStrategy getHeaderFilterStrategy() {
+ if (headerFilterStrategy == null) {
+ headerFilterStrategy = new CoAPHeaderFilterStrategy();
+ }
+ return headerFilterStrategy;
+ }
+
+ /**
+ * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to filter header to and from Camel message.
+ */
+ @Override
+ public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
+ this.headerFilterStrategy = headerFilterStrategy;
+ }
+
/**
* Get the SSLContextParameters object for setting up TLS. This is required for coaps+tcp, and for coaps when we are
* using certificates for TLS (as opposed to RPK or PKS).
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java
new file mode 100644
index 000000000000..8df5f09fd979
--- /dev/null
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.coap;
+
+import org.apache.camel.support.DefaultHeaderFilterStrategy;
+
+/**
+ * Default header filter strategy for CoAP endpoints.
+ * <p>
+ * Filters out Camel internal headers (starting with "Camel" or "camel") in both directions to prevent external CoAP
+ * clients from injecting internal Camel headers via query parameters.
+ */
+public class CoAPHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
+
+ public CoAPHeaderFilterStrategy() {
+ setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
+ setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
+ }
+}