From ddc25fc5c297c066352b10a5646c5fd04199c8d5 Mon Sep 17 00:00:00 2001 From: firest Date: Thu, 1 Sep 2022 16:27:15 +0800 Subject: [PATCH] fix(jwt): simplify binary_to_number function --- apps/emqx_auth_jwt/src/emqx_auth_jwt.erl | 26 +++++++++--------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl b/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl index 1f304a65e..1dee41677 100644 --- a/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl +++ b/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl @@ -90,22 +90,16 @@ is_expired(Exp) -> description() -> "Authentication with JWT". binary_to_number(Bin) -> - Checker = fun([], _) -> - false; - ([H | T], Self) -> - try - {ok, H(Bin)} - catch _:_ -> - Self(T, Self) - end - end, - - Checker([fun erlang:binary_to_integer/1, - fun(In) -> - Val = erlang:binary_to_float(In), - erlang:round(Val) - end], - Checker). + try + {ok, erlang:binary_to_integer(Bin)} + catch _:_ -> + try + Val = erlang:binary_to_float(Bin), + {ok, erlang:round(Val)} + catch _:_ -> + false + end + end. %%------------------------------------------------------------------------------ %% Verify Claims