Reduce notification nesting, at 'continue' result
This commit is contained in:
parent
abb1bef2b6
commit
6fd678b420
@ -150,7 +150,7 @@ decode(MsgBin, ?PROTOCOL_JSON, Vsn) ->
|
||||
#{ <<"method">> := Method
|
||||
, <<"params">> := Params } ->
|
||||
%% JSON-RPC notification
|
||||
#{ notification => #{ msg => validate(decode_msg_(Method, Params), Vsn) }};
|
||||
#{ notification => validate(decode_msg_(Method, Params), Vsn) };
|
||||
#{ <<"id">> := Id
|
||||
, <<"result">> := Result } ->
|
||||
#{ reply => #{ id => Id
|
||||
@ -167,7 +167,7 @@ decode(MsgBin, ?PROTOCOL_JSON, Vsn) ->
|
||||
encode(#{call := Req0}, P, V) ->
|
||||
{Id, Req} = maps:take(id, Req0),
|
||||
encode_request(Req, Id, P, V);
|
||||
encode(#{notification := #{msg := Msg}}, P, V) ->
|
||||
encode(#{notification := Msg}, P, V) ->
|
||||
encode_msg(Msg, P, V);
|
||||
encode(#{reply := Reply0}, P, V) when is_map(Reply0) ->
|
||||
{Id, Reply} = maps:take(id, Reply0),
|
||||
@ -204,7 +204,11 @@ encode_reply(Reply, Id, ?PROTOCOL_JSON, _Vsn) ->
|
||||
ok ->
|
||||
#{ <<"jsonrpc">> => <<"2.0">>
|
||||
, <<"id">> => Id
|
||||
, <<"result">> => <<"ok">> }
|
||||
, <<"result">> => <<"ok">> };
|
||||
continue ->
|
||||
#{ <<"jsonrpc">> => <<"2.0">>
|
||||
, <<"id">> => Id
|
||||
, <<"result">> => <<"continue">> }
|
||||
end,
|
||||
json_encode(Msg).
|
||||
|
||||
@ -231,6 +235,7 @@ error_code(unknown_method ) -> -32601;
|
||||
error_code(_ ) -> -32603. % internal error
|
||||
|
||||
decode_result(<<"ok">>, _) -> ok;
|
||||
decode_result(<<"continue">>, _) -> continue;
|
||||
decode_result(#{<<"connect_ack">> := #{ <<"protocol">> := P
|
||||
, <<"version">> := V }}, Vsn) ->
|
||||
Msg = #{connect_ack => #{ protocol => P
|
||||
|
Loading…
x
Reference in New Issue
Block a user