This commit is contained in:
anlicheng 2026-04-26 16:08:20 +08:00
parent 78074303de
commit 9c6ed236d0

View File

@ -181,7 +181,7 @@ handle_event(internal, {request, PacketId, {container_request, #{action := list}
?STATE_ACTIVATED, State = #state{socket = Socket}) -> ?STATE_ACTIVATED, State = #state{socket = Socket}) ->
case docker_commands:get_containers() of case docker_commands:get_containers() of
{ok, Containers} -> {ok, Containers} ->
send_result_reply(Socket, PacketId, iolist_to_binary(json:encode(Containers))); send_result_reply(Socket, PacketId, Containers);
{error, Reason} -> {error, Reason} ->
send_error_reply(Socket, PacketId, Reason) send_error_reply(Socket, PacketId, Reason)
end, end,
@ -249,16 +249,16 @@ handle_event(internal, {request, PacketId, _Body},
send_error_reply(Socket, PacketId, <<"agent state invalid">>), send_error_reply(Socket, PacketId, <<"agent state invalid">>),
{keep_state, State}; {keep_state, State};
handle_event(internal, {response, AuthPacketId, {ok, Message}}, handle_event(internal, {response, AuthPacketId, {auth_response, {ok, Message}}},
?STATE_AUTH, State = #state{auth_packet_id = AuthPacketId}) -> ?STATE_AUTH, State = #state{auth_packet_id = AuthPacketId}) ->
logger:debug("[efka_client] auth success, message: ~p", [Message]), logger:debug("[efka_client] auth success, message: ~p", [Message]),
{next_state, ?STATE_ACTIVATED, State, [{next_event, info, flush_cache}]}; {next_state, ?STATE_ACTIVATED, State, [{next_event, info, flush_cache}]};
handle_event(internal, {response, AuthPacketId, {error, 1, Message}}, handle_event(internal, {response, AuthPacketId, {auth_response, {error, 1, Message}}},
?STATE_AUTH, State = #state{auth_packet_id = AuthPacketId}) -> ?STATE_AUTH, State = #state{auth_packet_id = AuthPacketId}) ->
logger:debug("[efka_client] auth denied, message: ~p", [Message]), logger:debug("[efka_client] auth denied, message: ~p", [Message]),
{next_state, ?STATE_RESTRICTED, State}; {next_state, ?STATE_RESTRICTED, State};
handle_event(internal, {response, AuthPacketId, {error, _Code, Message}}, handle_event(internal, {response, AuthPacketId, {auth_response, {error, _Code, Message}}},
?STATE_AUTH, State = #state{socket = Socket, auth_packet_id = AuthPacketId}) -> ?STATE_AUTH, State = #state{socket = Socket, auth_packet_id = AuthPacketId}) ->
logger:debug("[efka_client] auth failed, message: ~p", [Message]), logger:debug("[efka_client] auth failed, message: ~p", [Message]),
disconnect(Socket), disconnect(Socket),
@ -441,14 +441,14 @@ delete_oldest_cache_entry() ->
dets:delete(?CACHE_TAB, Key) dets:delete(?CACHE_TAB, Key)
end. end.
-spec send_result_reply(ssl:sslsocket(), integer(), binary()) -> ok. -spec send_result_reply(ssl:sslsocket(), integer(), term()) -> ok.
send_result_reply(Socket, PacketId, Payload) when is_binary(Payload) -> send_result_reply(Socket, PacketId, Payload) ->
Packet = term_to_binary({response, PacketId, {ok, Payload}}), Packet = term_to_binary({response, PacketId, {container_response, {ok, Payload}}}),
send_packet(Socket, Packet). send_packet(Socket, Packet).
-spec send_error_reply(ssl:sslsocket(), integer(), binary()) -> ok. -spec send_error_reply(ssl:sslsocket(), integer(), binary()) -> ok.
send_error_reply(Socket, PacketId, Reason) when is_binary(Reason) -> send_error_reply(Socket, PacketId, Reason) when is_binary(Reason) ->
Packet = term_to_binary({response, PacketId, {error, -1, Reason}}), Packet = term_to_binary({response, PacketId, {container_response, {error, -1, Reason}}}),
send_packet(Socket, Packet). send_packet(Socket, Packet).
-spec container_target(map()) -> binary(). -spec container_target(map()) -> binary().