add debug

This commit is contained in:
anlicheng 2026-04-27 16:43:33 +08:00
parent 15264e9e6c
commit 374d1d4e6a
4 changed files with 14 additions and 8 deletions

View File

@ -14,12 +14,13 @@
-export([handle_request/4]).
handle_request("POST", "/network/create", _, #{<<"id">> := NetworkId}) when NetworkId > 0 ->
case sdlan_network_sup:ensured_network_started(NetworkId) of
case sdlan_network_sup:ensure_network_started(NetworkId) of
{ok, Pid} when is_pid(Pid) ->
{ok, 200, sdlan_util:json_data(<<"success">>)};
{error, Reason} ->
logger:debug("[network_handler] create network: ~p, get error: ~p", [NetworkId, Reason]),
{ok, 200, sdlan_util:json_error(-1, <<"error">>)}
ReasonBin = sdlan_util:term_to_binary(Reason),
{ok, 200, sdlan_util:json_error(-1, <<"error: ", ReasonBin/binary>>)}
end;
handle_request("POST", "/network/delete", _, #{<<"id">> := NetworkId}) when NetworkId > 0 ->

View File

@ -172,7 +172,7 @@ init([Id]) when is_integer(Id) ->
erlang:process_flag(trap_exit, true),
case sdlan_api:get_network(Id) of
{ok, #{<<"ipaddr">> := Null}} when Null == <<"null">>; Null == <<"NULL">> ->
ignore;
{stop, <<"ipaddrr is null">>};
{ok, NetworkInfo = #{<<"id">> := Id, <<"name">> := Name, <<"domain">> := Domain, <<"algorithm">> := Algorithm0, <<"ipaddr">> := IpAddr0, <<"owner_id">> := OwnerId}} ->
logger:debug("[sdlan_network] load network info: ~p", [NetworkInfo]),
{IpAddr, MaskLen} = parse_ipaddr(IpAddr0),
@ -194,7 +194,7 @@ init([Id]) when is_integer(Id) ->
owner_id = OwnerId, mask_len = MaskLen, key = Key, throttle_key = ThrottleKey}};
{error, Reason} ->
logger:warning("[sdlan_network] load network: ~p, get error: ~p", [Id, Reason]),
ignore
{stop, Reason}
end.
%% @private

View File

@ -13,7 +13,7 @@
%% API
-export([start_link/0]).
-export([ensured_network_started/1, delete_network/1, get_all_networks/0, start_network/1, reallocate_bind_width/0]).
-export([ensure_network_started/1, delete_network/1, get_all_networks/0, start_network/1, reallocate_bind_width/0]).
%% Supervisor callbacks
-export([init/1]).
@ -50,13 +50,15 @@ init([]) ->
%%% Internal functions
%%%===================================================================
-spec ensured_network_started(Id :: integer()) -> {ok, Pid :: pid()} | {error, Reason :: any()}.
ensured_network_started(Id) when is_integer(Id) ->
-spec ensure_network_started(Id :: integer()) -> {ok, Pid :: pid()} | {error, Reason :: any()}.
ensure_network_started(Id) when is_integer(Id) ->
case sdlan_network:get_pid(Id) of
undefined ->
case supervisor:start_child(?MODULE, child_spec(Id)) of
{ok, Pid} when is_pid(Pid) ->
{ok, Pid};
{ok, undefined} ->
{error, ignored};
{error, {'already_started', Pid}} when is_pid(Pid) ->
{ok, Pid};
{error, Error} ->

View File

@ -15,7 +15,7 @@
-export([is_broadcast_mac/1, is_multicast_mac/1]).
-export([ipv4_to_int/1, int_to_ipv4/1, ips/2, format_ip/1]).
-export([ipv6_to_bytes/1, ipv6_bytes_to_binary/1, ipv6_assist_info/0]).
-export([hmac/2]).
-export([hmac/2, term_to_binary/1]).
-spec format_mac(Mac :: binary()) -> binary().
format_mac(Mac) when is_binary(Mac) ->
@ -162,3 +162,6 @@ hmac(Key, Data) when is_binary(Key), is_binary(Data) ->
Digest = crypto:mac(hmac, md5, Key, Data),
%% PHP hash_hmac
lists:flatten([io_lib:format("~2.16.0b", [B]) || B <- binary:bin_to_list(Digest)]).
term_to_binary(Term) ->
iolist_to_binary(io_lib:format("~p", [Term])).