浏览代码

ft: 代码修改

master
SisMaker 3 年前
父节点
当前提交
b8157441df
共有 5 个文件被更改,包括 19 次插入8 次删除
  1. +4
    -4
      include/agVstCli.hrl
  2. +9
    -0
      src/agVstCli/agMiscUtils.erl
  3. +0
    -1
      src/agVstCli/agTcpAgency.erl
  4. +3
    -0
      src/agVstCli/agVstCli.erl
  5. +3
    -3
      src/agVstCli/agVstProto.erl

+ 4
- 4
include/agVstCli.hrl 查看文件

@ -46,12 +46,12 @@
-define(AgGetListKV(Key, List), agMiscUtils:getListValue(Key, List, undefined)).
-define(AgGetListKV(Key, List, Default), agMiscUtils:getListValue(Key, List, Default)).
-define(AgWarn(Tag, Format, Data), error_logger:warning_msg("[~p] " ++ Format, [Tag | Data])).
-define(AgInfo(Tag, Format, Data), error_logger:info_msg("[~p] " ++ Format, [Tag | Data])).
-define(AgErr(Tag, Format, Data), error_logger:error_msg("[~p] " ++ Format, [Tag | Data])).
-define(AgWarn(Tag, Format, Data), error_logger:warning_msg("[~p:~p|~p]~p " ++ Format, [?MODULE, ?FUNCTION_NAME, ?LINE, Tag | Data])).
-define(AgInfo(Tag, Format, Data), error_logger:info_msg("[~p:~p|~p]~p " ++ Format, [?MODULE, ?FUNCTION_NAME, ?LINE, Tag | Data])).
-define(AgErr(Tag, Format, Data), error_logger:error_msg("[~p:~p|~p]~p " ++ Format, [?MODULE, ?FUNCTION_NAME, ?LINE, Tag | Data])).
-ifdef(debug).
-define(AgDebug(Tag, Format, Data), error_logger:info_msg("[~p] " ++ Format, [Tag | Data])).
-define(AgDebug(Tag, Format, Data), error_logger:info_msg("[~p:~p|~p]~p " ++ Format, [?MODULE, ?FUNCTION_NAME, ?LINE, Tag | Data])).
-else.
-define(AgDebug(_Tag, _Format, _Data), rel).
-endif.

+ 9
- 0
src/agVstCli/agMiscUtils.erl 查看文件

@ -12,6 +12,7 @@
, getListValue/3
, randElement/1
, toBinary/1
, agMethod/1
]).
-spec parseUrl(binary()) -> dbOpts() | {error, invalidUrl}.
@ -94,3 +95,11 @@ toBinary(Value) when is_atom(Value) -> atom_to_binary(Value, utf8);
toBinary(Value) when is_binary(Value) -> Value;
toBinary(Value) -> term_to_binary(Value).
agMethod(0) -> <<"Delete">>;
agMethod(1) -> <<"Get">>;
agMethod(2) -> <<"Post">>;
agMethod(3) -> <<"Put">>;
agMethod(4) -> <<"Head">>;
agMethod(5) -> <<"Patch">>;
agMethod(6) -> <<"Options">>.

+ 0
- 1
src/agVstCli/agTcpAgency.erl 查看文件

@ -99,7 +99,6 @@ handleMsg(#agReq{method = Method, path = Path, queryPars = QueryPars, headers =
_ ->
Request = agVstProto:request(IsSystem, MessageId, Method, DbName, Path, QueryPars, Headers, Body, VstSize),
?AgDebug(ServerName, "IMY************the request is:~s", [iolist_to_binary(Request)]),
%file:write_file("./request", BBBB),
%erlang:put(MessageId, {FromPid, undefined, 0, <<>>}),
%Ret = agVstProto:response(?AgUndef, 0, 0, 0, 0, <<>>, BBBB),

+ 3
- 0
src/agVstCli/agVstCli.erl 查看文件

@ -124,6 +124,7 @@ receiveReqRet(RequestId, MonitorRef) ->
Err;
_ ->
{[_1, _2, StatusCode, HeaderMap], BodyMap} = eVPack:decodeAll(Reply),
?AgDebug('IMY******response', " StatusCode:~p BodyMap:~p, HeaderMap:~p", [StatusCode, BodyMap, HeaderMap]),
{StatusCode, BodyMap, HeaderMap}
end;
{'DOWN', MonitorRef, process, _Pid, Reason} ->
@ -137,6 +138,7 @@ receiveTcpData(RecvState, Socket) ->
case agVstProto:response(element(2, RecvState), RecvState, DataBuffer) of
{?AgMDone, MsgBin} ->
{[_1, _2, StatusCode, HeaderMap], BodyMap} = eVPack:decodeAll(MsgBin),
?AgDebug('IMY******response', " StatusCode:~p BodyMap:~p, HeaderMap:~p", [StatusCode, BodyMap, HeaderMap]),
{StatusCode, BodyMap, HeaderMap};
{?AgCHeader, NewRecvState} ->
receiveTcpData(NewRecvState, Socket);
@ -160,6 +162,7 @@ receiveSslData(RecvState, Socket) ->
case agVstProto:response(element(2, RecvState), RecvState, DataBuffer) of
{?AgMDone, MsgBin} ->
{[_1, _2, StatusCode, HeaderMap], BodyMap} = eVPack:decodeAll(MsgBin),
?AgDebug('IMY******response', " StatusCode:~p BodyMap:~p, HeaderMap:~p", [StatusCode, BodyMap, HeaderMap]),
{StatusCode, BodyMap, HeaderMap};
{?AgCHeader, NewRecvState} ->
receiveSslData(NewRecvState, Socket);

+ 3
- 3
src/agVstCli/agVstProto.erl 查看文件

@ -13,12 +13,15 @@
-spec authInfo(User :: binary(), Password :: binary()) -> ok.
authInfo(User, Password) ->
?AgDebug('IMY******authInfo', " User:~p", [User]),
AuthInfo = eVPack:encodeBin([1, 1000, <<"plain">>, User, Password]),
MsgSize = erlang:byte_size(AuthInfo),
<<(MsgSize + ?AgHeaderSize):32/integer-little-unsigned, 3:32/integer-little-unsigned, (agVstCli:getMsgId()):64/integer-little-unsigned, MsgSize:64/integer-little-unsigned, AuthInfo/binary>>.
-spec request(boolean(), pos_integer(), method(), binary(), path(), queryPars(), headers(), body(), pos_integer()) -> iolist().
request(IsSystem, MessageId, Method, DbName, Path, QueryPars, Headers, Body, VstSize) ->
?AgDebug('IMY******request', " IsSystem:~p MessageId:~p Method:~p, DbName:~p, Path:~p, QueryPars:~p, Headers:~p, Body:~p", [IsSystem, MessageId, agMiscUtils:agMethod(Method), DbName, Path, QueryPars, Headers, Body]),
ReqBin =
case IsSystem of
false ->
@ -61,8 +64,6 @@ response(?AgUndef, DoneCnt, _MessageId, _ChunkIdx, _ChunkSize, _ChunkBuffer, Dat
ByteSize = erlang:byte_size(LeftBuffer),
ChunkSize = Length - ?AgHeaderSize,
?AgDebug('IM**************response/7', " Length:~p ChunkX:~p IsFirst:~p MessageId:~p _MessageLength:~p ChunkSize:~p ByteSize:~p", [{Length, ChunkX, IsFirst, MessageId, _MessageLength, ChunkSize, ByteSize}]),
if
ByteSize == ChunkSize ->
{PidFrom, TimerRef, ChunkCnt, MsgBuffer} = MsgCache = erlang:get(MessageId),
@ -230,7 +231,6 @@ response(?AgCBody, DoneCnt, MessageId, ChunkIdx, ChunkSize, ChunkBuffer, DataBuf
response(?AgUndef, #recvState{chunkCnt = ChunkCnt, msgBuffer = MsgBuffer} = RecvState, DataBuffer) ->
case DataBuffer of
<<Length:32/integer-little-unsigned, ChunkX:31/integer-little-unsigned, IsFirst:1/integer-little-unsigned, MessageId:64/integer-little-unsigned, _MessageLength:64/integer-little-unsigned, LeftBuffer/binary>> ->
?AgDebug('IM**************response/3', " ChunkX:~p IsFirst:~p MessageId:~p Length:~p _MessageLength:~p", [ChunkX, IsFirst, MessageId, Length, _MessageLength]),
ByteSize = erlang:byte_size(LeftBuffer),
ChunkSize = Length - ?AgHeaderSize,

正在加载...
取消
保存