summaryrefslogtreecommitdiff
path: root/src/rose.erl
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-11-03 13:35:54 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-11-03 13:35:54 +0100
commitd2e8a2c02abe05214bb77496121d9a0277f3e95f (patch)
treef29aedd71a19b16f17bdd4312871f5b04d41065b /src/rose.erl
parentf8e537573beadf071dd2698590be05b53120f51a (diff)
Add error decoder
Diffstat (limited to 'src/rose.erl')
-rw-r--r--src/rose.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rose.erl b/src/rose.erl
index a98df07..9df46a7 100644
--- a/src/rose.erl
+++ b/src/rose.erl
@@ -46,9 +46,13 @@ dispatch({returnResult, #'ReturnResult'{invokeId = Id, result = Data}}) ->
counter:set(Id),
dispatch(Data);
-dispatch({returnError, #'ReturnError'{invokeId = Id, errcode = Code, parameter = Par}}) ->
+dispatch({returnError, #'ReturnError'{invokeId = Id, errcode = Op, parameter = Data}}) ->
counter:set(Id),
- io:format("Err: ~p ~p~n", [Code, Par]),
+ case Op of
+ ?ERROR ->
+ {ok, Error} = error:decode(Data),
+ io:format("Error: ~p~n", [Error])
+ end,
error;
dispatch({reject, #'Reject'{invokeId = Id, problem = Problem}}) ->