From 69b92179cf286ad7dea3b28b36317a7a74b0b14f Mon Sep 17 00:00:00 2001 From: Mehdi Zarei Date: Wed, 11 Jan 2023 21:46:51 +0800 Subject: [PATCH 1/6] pass rpc_storage --- lib/Mojo/WebSocketProxy/Backend.pm | 8 +++++++- lib/Mojo/WebSocketProxy/Dispatcher.pm | 4 ++-- t/05_basic.t | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/Mojo/WebSocketProxy/Backend.pm b/lib/Mojo/WebSocketProxy/Backend.pm index fe0111e1..95a1b03f 100644 --- a/lib/Mojo/WebSocketProxy/Backend.pm +++ b/lib/Mojo/WebSocketProxy/Backend.pm @@ -96,7 +96,13 @@ sub make_call_params { $call_params->{args} = $args; if (defined $stash_params) { - $call_params->{$_} = $c->stash($_) for @$stash_params; + for my $param (@$stash_params) { + $call_params->{$param} = $c->stash($param); + + if (exists $c->stash('rpc_storage')->{$param}) { + $call_params->{$param} = $c->stash('rpc_storage')->{$param}; + } + } } return $call_params; diff --git a/lib/Mojo/WebSocketProxy/Dispatcher.pm b/lib/Mojo/WebSocketProxy/Dispatcher.pm index 707f1fff..177422c3 100644 --- a/lib/Mojo/WebSocketProxy/Dispatcher.pm +++ b/lib/Mojo/WebSocketProxy/Dispatcher.pm @@ -9,11 +9,11 @@ use Mojo::WebSocketProxy::Config; use Class::Method::Modifiers; -use JSON::MaybeUTF8 qw(:v1); +use JSON::MaybeUTF8 qw(:v1); use Unicode::Normalize (); use Future::Mojo 0.004; # ->new_timeout use Future::Utils qw(fmap); -use Scalar::Util qw(blessed); +use Scalar::Util qw(blessed); use Encode; use DataDog::DogStatsd::Helper qw(stats_inc); diff --git a/t/05_basic.t b/t/05_basic.t index e7c8fb69..a8c59a8b 100644 --- a/t/05_basic.t +++ b/t/05_basic.t @@ -85,8 +85,8 @@ $t->websocket_ok('/api' => {}); $t = $t->send_ok({json => {some_action => 1}})->message_ok; $res = decode_json_utf8($t->message->[1]); -is $url, 'http://rpc-host.com:8080/some_action', 'It should use url + method'; -is $call_params->{method}, 'some_action', 'It should use method from actions'; +is $url, 'http://rpc-host.com:8080/some_action', 'It should use url + method'; +is $call_params->{method}, 'some_action', 'It should use method from actions'; ok $call_params->{id}, 'It should generate call id'; is_deeply $call_params->{params}->{args}, {some_action => 1}, 'It should forward message params'; is_deeply $res, From 6c52cc0a303e8c4fab1a8e2b5ad7bf88c8552592 Mon Sep 17 00:00:00 2001 From: Mehdi Zarei Date: Wed, 11 Jan 2023 21:47:35 +0800 Subject: [PATCH 2/6] ws/stash_management_refactor From 4774daabcf4509437d2e755ebd17a3efff0163c3 Mon Sep 17 00:00:00 2001 From: Mehdi Zarei Date: Wed, 11 Jan 2023 22:11:48 +0800 Subject: [PATCH 3/6] update --- lib/Mojo/WebSocketProxy/Backend.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Mojo/WebSocketProxy/Backend.pm b/lib/Mojo/WebSocketProxy/Backend.pm index 95a1b03f..7894ff19 100644 --- a/lib/Mojo/WebSocketProxy/Backend.pm +++ b/lib/Mojo/WebSocketProxy/Backend.pm @@ -99,7 +99,7 @@ sub make_call_params { for my $param (@$stash_params) { $call_params->{$param} = $c->stash($param); - if (exists $c->stash('rpc_storage')->{$param}) { + if (defined $c->stash('rpc_storage') && exists $c->stash('rpc_storage')->{$param}) { $call_params->{$param} = $c->stash('rpc_storage')->{$param}; } } From 93604dc20786e66ae0232582b37391c6b64d913a Mon Sep 17 00:00:00 2001 From: Mehdi Zarei Date: Wed, 11 Jan 2023 22:19:59 +0800 Subject: [PATCH 4/6] ws/stash_management_refactor From d2e4ef77f028d42e0a359064e097cf9494352b9b Mon Sep 17 00:00:00 2001 From: Mehdi Zarei Date: Wed, 11 Jan 2023 22:20:46 +0800 Subject: [PATCH 5/6] ws/stash_management_refactor From ddcdf41d5ef448a80d49a8818631982ab43aecb7 Mon Sep 17 00:00:00 2001 From: Mehdi Zarei Date: Wed, 11 Jan 2023 22:21:25 +0800 Subject: [PATCH 6/6] ws/stash_management_refactor