Andrea Cosentino created CAMEL-26585:
----------------------------------------
Summary: camel-aws2-sns - escape string members of array attributes
Key: CAMEL-26585
URL: https://issues.apache.org/jira/browse/CAMEL-26585
Project: Camel
Issue Type: Bug
Components: camel-aws2
Reporter: Andrea Cosentino
`components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Producer.java:155`
```java
String resultString = ((List<?>) value).stream()
.map(o -> o instanceof String ? String.format("\"%s\"", o) :
Objects.toString(o))
.collect(Collectors.joining(", "));
```
Wrapping text in quotation marks does not JSON-escape it. A member containing a
quote produces malformed JSON; backslashes and control characters also fail to
round-trip. Use proper JSON serialization while preserving supported numbers,
booleans and nulls. SnsProducerTest currently covers plain strings and
primitive values, not escaped strings.
History: array handling dates to 2020; no recent fix addresses escaping.
[AWS SNS
documentation](https://docs.aws.amazon.com/sns/latest/dg/sns-message-attributes.html)
requires valid JSON for attributes used in subscription filtering.
Expected behavior: the operation honors its documented contract, including
exceptional and terminal paths. Add regression tests for the triggering case
described above.
Audited against upstream main 3658e02a7f9d. AI-generated by Codex on behalf of
oscerd (JIRA acosentino).
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)