[
https://issues.apache.org/jira/browse/CAMEL-25087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino resolved CAMEL-25087.
--------------------------------------
Resolution: Fixed
Backported to camel-4.22.x by https://github.com/apache/camel/pull/27046
(868d56044119) and to camel-4.18.x by
https://github.com/apache/camel/pull/27048 (aaf5bbf81ede). Fixed in 4.18.5,
4.22.2 and 4.23.0.
_Claude Code on behalf of oscerd_
> camel-coap - add a muteException consumer option
> ------------------------------------------------
>
> Key: CAMEL-25087
> URL: https://issues.apache.org/jira/browse/CAMEL-25087
> Project: Camel
> Issue Type: Improvement
> Components: camel-coap
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
> Fix For: 4.18.5, 4.22.2, 4.23.0
>
>
> CAMEL-23651, and then CAMEL-24428, CAMEL-24476, CAMEL-24477 and CAMEL-24478,
> gave the consumers that reply to the caller a {{muteException}} option
> defaulting to {{true}}, so that a failed exchange does not return the
> exception's message to the remote caller. camel-coap has no such option.
> {{CamelCoapResource.handleRequest}} differs from those consumers in two
> places:
> # After {{consumer.getProcessor().process(camelExchange)}} it does not check
> {{camelExchange.isFailed()}}, so a failed exchange is answered with {{2.05
> Content}} and whatever body the message held when the route failed.
> # An exception raised while the consumer builds the response, for example
> converting the final body to {{byte[]}}, is caught and its message is sent
> back as the {{5.00}} payload:
> {code:java}
> } catch (Exception e) {
> cexchange.respond(ResponseCode.INTERNAL_SERVER_ERROR, e.getMessage());
> }
> {code}
> Proposal: add a {{muteException}} consumer option, defaulting to {{true}} to
> match the other consumers. Answer a failed exchange with {{5.00 Internal
> Server Error}}, with an empty payload when muted and the exception message
> when {{muteException=false}}, and apply the same rule in the catch block. Add
> an upgrade-guide entry for both changes.
> _Claude Code on behalf of oscerd_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)