summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorMagnus Feuer <mfeuer@jaguarlandrover.com>2015-09-14 12:28:15 -0700
committerMagnus Feuer <mfeuer@jaguarlandrover.com>2015-09-14 12:28:15 -0700
commit60d79c09330c89ad66e7d8e25133a6f171a08a81 (patch)
treea675b4057c8cd9cfa3cdbd630648f61f205f5880 /components
parent052a7c05ca61b76827904175e79b690e3d03f49e (diff)
downloadrvi_core-60d79c09330c89ad66e7d8e25133a6f171a08a81.tar.gz
mfeuer_json_params: Now handles messages between services on the same node both on websock and HTTP
Diffstat (limited to 'components')
-rw-r--r--components/service_edge/src/service_edge_rpc.erl26
1 files changed, 12 insertions, 14 deletions
diff --git a/components/service_edge/src/service_edge_rpc.erl b/components/service_edge/src/service_edge_rpc.erl
index e61b781..354f724 100644
--- a/components/service_edge/src/service_edge_rpc.erl
+++ b/components/service_edge/src/service_edge_rpc.erl
@@ -406,7 +406,9 @@ handle_call({ rvi, handle_local_message,
authorize_rpc:authorize_local_message(
St#st.cs, SvcName, [{service_name, SvcName},
{timeout, TimeoutArg},
- {parameters, Parameters}]),
+ %% {parameters, Parameters},
+ {parameters, {struct, Parameters}}
+ ]),
%%
%% Slick but ugly.
@@ -497,6 +499,7 @@ handle_cast({rvi, handle_remote_message,
{remote_port, Port},
{service_name, SvcName},
{timeout, Timeout},
+ %% {parameters, [ {struct, Parameters}]},
{parameters, Parameters},
{signature, Signature}]) of
[ ok ] ->
@@ -606,21 +609,16 @@ dispatch_to_local_service([ $w, $s, $: | WSPidStr], services_unavailable,
ok;
dispatch_to_local_service([ $w, $s, $: | WSPidStr], message,
- {struct, [{ service_name, SvcName}, { parameters, [ { struct, Args} ]}]} ) ->
- ?info("service_edge:dispatch_to_local_service(message, websock): ~p", [Args]),
- wse_server:send(list_to_pid(WSPidStr),
- json_rpc_notification("message",
- [{ "service_name", SvcName}, {parameters, { struct, Args}}])),
- %% No response expected.
- ?debug("service_edge:dispatch_to_local_service(message, websock): Done"),
- ok;
+ {struct, [{ service_name, SvcName},
+ { parameters, { struct, Parameters} }
+ ]} ) ->
-dispatch_to_local_service([ $w, $s, $: | WSPidStr], message,
- {struct, [{ service_name, SvcName}, { parameters,{array,[{struct, Args}]}}]}) ->
- ?info("service_edge:dispatch_to_local_service(message/alt, websock): ~p", [Args]),
+ ?info("service_edge:dispatch_to_local_service(message, websock): ~p",
+ [Parameters]),
wse_server:send(list_to_pid(WSPidStr),
json_rpc_notification("message",
- [{ "service_name", SvcName}, {parameters, { struct, Args}}])),
+ [{ "service_name", SvcName},
+ {parameters, { struct, Parameters}}])),
%% No response expected.
?debug("service_edge:dispatch_to_local_service(message, websock): Done"),
ok;
@@ -663,7 +661,7 @@ forward_message_to_local_service(URL,SvcName, Parameters, _CompSpec) ->
dispatch_to_local_service(URL,
message,
{struct, [ { service_name, LocalSvcName },
- { parameters, Parameters }]}))
+ { parameters, { struct, Parameters }}]}))
end),
[ ok, -1 ].