diff --git a/lib/Mojo/WebSocketProxy/Backend/ConsumerGroups.pm b/lib/Mojo/WebSocketProxy/Backend/ConsumerGroups.pm index 378c9ed..4d95363 100644 --- a/lib/Mojo/WebSocketProxy/Backend/ConsumerGroups.pm +++ b/lib/Mojo/WebSocketProxy/Backend/ConsumerGroups.pm @@ -364,7 +364,9 @@ Subscription will be done only once within first request to backend server. sub wait_for_messages { my ($self) = @_; - $self->{already_waiting} //= $self->redis->subscribe([$self->whoami], $self->redis->curry::weak::on(message => $self->curry::weak::_on_message)); + $self->{already_waiting} //= + $self->redis->subscribe(['myriad.' . $self->whoami, $self->whoami], + $self->redis->curry::weak::on(message => $self->curry::weak::_on_message)); return; } @@ -376,6 +378,11 @@ sub _on_message { try { $message = decode_json_utf8($raw_message); + if (ref $message->{args} ne 'HASH') { + $message->{args} = decode_json_utf8($message->{args}); + $message->{response} = decode_json_utf8($message->{response}); + $message->{response} = {result => $message->{response}{response}}; + } } catch { my $err = $@;