chore: add more comments for bind display perference
This commit is contained in:
parent
5f5ef170ed
commit
03eaa07c02
|
@ -10,9 +10,6 @@
|
|||
* Fix GET /listeners API crash When some nodes still in initial configuration. [#9002](https://github.com/emqx/emqx/pull/9002)
|
||||
* Fix empty variable interpolation in authentication and authorization. Placeholders for undefined variables are rendered now as empty strings and do not cause errors anymore. [#8963](https://github.com/emqx/emqx/pull/8963)
|
||||
* Fix the latency statistics error of the slow subscription module when `stats_type` is `internal` or `response`. [#8986](https://github.com/emqx/emqx/pull/8986)
|
||||
* Change the format of the listener when displaying bind field.
|
||||
i.e: from `:1883` to `1883`, this fix will affect the output of the HTTP API
|
||||
and CLI. [#9047](https://github.com/emqx/emqx/pull/9047)
|
||||
|
||||
# 5.0.8
|
||||
|
||||
|
|
|
@ -521,12 +521,16 @@ merge_default(Options) ->
|
|||
integer() | {tuple(), integer()} | string() | binary()
|
||||
) -> io_lib:chars().
|
||||
format_bind(Port) when is_integer(Port) ->
|
||||
io_lib:format("~w", [Port]);
|
||||
%% Print only the port number when bound on all interfaces
|
||||
format_bind({{0, 0, 0, 0}, Port}) ->
|
||||
format_bind(Port);
|
||||
format_bind({{0, 0, 0, 0, 0, 0, 0, 0}, Port}) ->
|
||||
format_bind(Port);
|
||||
%% **Note**:
|
||||
%% 'For TCP, UDP and IP networks, if the host is empty or a literal
|
||||
%% unspecified IP address, as in ":80", "0.0.0.0:80" or "[::]:80" for
|
||||
%% TCP and UDP, "", "0.0.0.0" or "::" for IP, the local system is
|
||||
%% assumed.'
|
||||
%%
|
||||
%% Quoted from: https://pkg.go.dev/net
|
||||
%% Decided to use this format to display the bind for all interfaces and
|
||||
%% IPv4/IPv6 support
|
||||
io_lib:format(":~w", [Port]);
|
||||
format_bind({Addr, Port}) when is_list(Addr) ->
|
||||
io_lib:format("~ts:~w", [Addr, Port]);
|
||||
format_bind({Addr, Port}) when is_tuple(Addr), tuple_size(Addr) == 4 ->
|
||||
|
|
|
@ -148,6 +148,33 @@ t_wss_conn(_) ->
|
|||
{ok, Socket} = ssl:connect({127, 0, 0, 1}, 9998, [{verify, verify_none}], 1000),
|
||||
ok = ssl:close(Socket).
|
||||
|
||||
t_format_bind(_) ->
|
||||
?assertEqual(
|
||||
":1883",
|
||||
lists:flatten(emqx_listeners:format_bind(1883))
|
||||
),
|
||||
?assertEqual(
|
||||
"0.0.0.0:1883",
|
||||
lists:flatten(emqx_listeners:format_bind({{0, 0, 0, 0}, 1883}))
|
||||
),
|
||||
?assertEqual(
|
||||
"[::]:1883",
|
||||
lists:flatten(emqx_listeners:format_bind({{0, 0, 0, 0, 0, 0, 0, 0}, 1883}))
|
||||
),
|
||||
?assertEqual(
|
||||
"127.0.0.1:1883",
|
||||
lists:flatten(emqx_listeners:format_bind({{127, 0, 0, 1}, 1883}))
|
||||
),
|
||||
?assertEqual(
|
||||
":1883",
|
||||
lists:flatten(emqx_listeners:format_bind("1883"))
|
||||
),
|
||||
%% due to the emqx_schema:to_ip_port/1, automaticlly add the IPv4 address
|
||||
?assertEqual(
|
||||
"0.0.0.0:1883",
|
||||
lists:flatten(emqx_listeners:format_bind(":1883"))
|
||||
).
|
||||
|
||||
render_config_file() ->
|
||||
Path = local_path(["etc", "emqx.conf"]),
|
||||
{ok, Temp} = file:read_file(Path),
|
||||
|
|
Loading…
Reference in New Issue