summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <klishinm@vmware.com>2021-09-27 22:28:16 +0300
committerGitHub <noreply@github.com>2021-09-27 22:28:16 +0300
commit04ae4ede5b974245ce009be6de8446b8b2da7526 (patch)
tree2a1e5f8013181190e5640a2abf97e2b3faabbbfc
parenteac71e6aa6df62a6865f557fff1c83ff148705cf (diff)
parentb758edc64247ef8b33bf8c897b37013d9eef99ec (diff)
downloadrabbitmq-server-git-04ae4ede5b974245ce009be6de8446b8b2da7526.tar.gz
Merge pull request #3509 from rabbitmq/rabbitmq-server-3508-web-stomp-stream-consuming
Handle no-context delivery in web stomp
-rw-r--r--deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl2
-rw-r--r--deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl9
2 files changed, 10 insertions, 1 deletions
diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl
index 30a0b94b35..4cbdaf10ba 100644
--- a/deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl
+++ b/deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl
@@ -827,7 +827,7 @@ send_delivery(Delivery = #'basic.deliver'{consumer_tag = ConsumerTag},
NewState.
notify_received(undefined) ->
- %% no notification for quorum queues
+ %% no notification for quorum queues and streams
ok;
notify_received(DeliveryCtx) ->
%% notification for flow control
diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl
index 3a1bcd42cb..ebec3da671 100644
--- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl
+++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl
@@ -183,6 +183,15 @@ websocket_info({Delivery = #'basic.deliver'{},
DeliveryCtx,
ProcState0),
{ok, State#state{ proc_state = ProcState }};
+websocket_info({Delivery = #'basic.deliver'{},
+ #amqp_msg{props = Props, payload = Payload}},
+ State=#state{ proc_state = ProcState0 }) ->
+ ProcState = rabbit_stomp_processor:send_delivery(Delivery,
+ Props,
+ Payload,
+ undefined,
+ ProcState0),
+ {ok, State#state{ proc_state = ProcState }};
websocket_info(#'basic.cancel'{consumer_tag = Ctag},
State=#state{ proc_state = ProcState0 }) ->
case rabbit_stomp_processor:cancel_consumer(Ctag, ProcState0) of