Claus Ibsen created CAMEL-26141:
-----------------------------------

             Summary: camel-atmosphere-websocket - a query parameter without a 
value fails with ArrayIndexOutOfBoundsException, and useStreaming is documented 
for sending but only used by the consumer
                 Key: CAMEL-26141
                 URL: https://issues.apache.org/jira/browse/CAMEL-26141
             Project: Camel
          Issue Type: Bug
          Components: camel-atmosphere-websocket
            Reporter: Claus Ibsen
             Fix For: 4.24.0


Found while adding the catalog body types of atmosphere-websocket (CAMEL-24961, 
PR #28395).

h4. 1. A query parameter without a value fails with 
ArrayIndexOutOfBoundsException

{{WebsocketConsumer.getQueryMap}} (main 2a465aa4814c, lines 142-143) splits 
each parameter on {{=}} and reads {{nameval[1]}}, so a query like {{?foo}} (or 
{{?foo=}}) throws {{ArrayIndexOutOfBoundsException}}. Read in the code, not run.

Proposed: split with a limit of 2 and use an empty value when there is no {{=}}.

h4. 2. useStreaming is documented for sending but only the consumer uses it

The option description ({{WebsocketEndpoint.setUseStreaming}}, line 109) says 
"To enable streaming to send data as multiple text fragments", but only 
{{WebsocketConsumer}} (line 67) reads it, to pick the stream handler for 
received messages; the producer ignores it. Read in the code, not run.

Proposed: fix the description to say it makes the consumer receive text 
messages as a stream (or make the producer stream).

_Claude Code on behalf of davsclaus_



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to