diff options
author | Michael Klishin <klishinm@vmware.com> | 2021-09-27 22:28:16 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-27 22:28:16 +0300 |
commit | 04ae4ede5b974245ce009be6de8446b8b2da7526 (patch) | |
tree | 2a1e5f8013181190e5640a2abf97e2b3faabbbfc | |
parent | eac71e6aa6df62a6865f557fff1c83ff148705cf (diff) | |
parent | b758edc64247ef8b33bf8c897b37013d9eef99ec (diff) | |
download | rabbitmq-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.erl | 2 | ||||
-rw-r--r-- | deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl | 9 |
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 |