|
|
@ -114,7 +114,7 @@ castAgency(PoolNameOrSocket, Method, Path, QueryPars, Headers, Body, Pid, IsSyst |
|
|
|
end |
|
|
|
end. |
|
|
|
|
|
|
|
-spec receiveReqRet(messageId(), reference()) -> {StatusCode :: non_neg_integer(), Body :: map(), Headers :: map()} | {error, term()}. |
|
|
|
-spec receiveReqRet(messageId(), reference()) -> eArango:dbRet(). |
|
|
|
receiveReqRet(RequestId, MonitorRef) -> |
|
|
|
receive |
|
|
|
#agReqRet{messageId = RequestId, reply = Reply} -> |
|
|
@ -130,14 +130,14 @@ receiveReqRet(RequestId, MonitorRef) -> |
|
|
|
{error, {agencyDown, Reason}} |
|
|
|
end. |
|
|
|
|
|
|
|
-spec receiveTcpData(recvState(), socket()) -> {ok, term(), term()} | {error, term()}. |
|
|
|
-spec receiveTcpData(recvState(), socket()) -> eArango:dbRet(). |
|
|
|
receiveTcpData(RecvState, Socket) -> |
|
|
|
receive |
|
|
|
{tcp, Socket, DataBuffer} -> |
|
|
|
%% ?AgErr(1111, "IMY************receove 1: ~p ~p ~n", [erlang:byte_size(DataBuffer), DataBuffer]), |
|
|
|
case agVstProto:response(element(2, RecvState), RecvState, DataBuffer) of |
|
|
|
{?AgMDone, MsgBin} -> |
|
|
|
{ok, MsgBin}; |
|
|
|
{[_1, _2, StatusCode, HeaderMap], BodyMap} = eVPack:decodeAll(MsgBin), |
|
|
|
{StatusCode, BodyMap, HeaderMap}; |
|
|
|
{?AgCHeader, NewRecvState} -> |
|
|
|
receiveTcpData(NewRecvState, Socket); |
|
|
|
{?AgCBodyStart, NewRecvState} -> |
|
|
@ -153,13 +153,14 @@ receiveTcpData(RecvState, Socket) -> |
|
|
|
{error, {tcp_error, Reason}} |
|
|
|
end. |
|
|
|
|
|
|
|
-spec receiveSslData(recvState(), socket()) -> {ok, term(), term()} | {error, term()}. |
|
|
|
-spec receiveSslData(recvState(), socket()) -> eArango:dbRet(). |
|
|
|
receiveSslData(RecvState, Socket) -> |
|
|
|
receive |
|
|
|
{ssl, Socket, DataBuffer} -> |
|
|
|
case agVstProto:response(element(2, RecvState), RecvState, DataBuffer) of |
|
|
|
{?AgMDone, MsgBin} -> |
|
|
|
{ok, MsgBin}; |
|
|
|
{[_1, _2, StatusCode, HeaderMap], BodyMap} = eVPack:decodeAll(MsgBin), |
|
|
|
{StatusCode, BodyMap, HeaderMap}; |
|
|
|
{?AgCHeader, NewRecvState} -> |
|
|
|
receiveSslData(NewRecvState, Socket); |
|
|
|
{?AgCBodyStart, NewRecvState} -> |
|
|
|