Merge pull request #7819 from lafirest/fix/limiter_schema
fix(limiter): fix schema parse error
This commit is contained in:
commit
828f1b0730
|
@ -208,12 +208,19 @@ to_rate(Str, CanInfinity, CanZero) ->
|
|||
to_capacity(QuotaStr, Str, CanZero, Fun);
|
||||
[QuotaStr, Interval] ->
|
||||
Fun = fun(Quota) ->
|
||||
try
|
||||
case emqx_schema:to_duration_ms(Interval) of
|
||||
{ok, Ms} when Ms > 0 ->
|
||||
{ok, Quota * minimum_period() / Ms};
|
||||
{ok, 0} when CanZero ->
|
||||
{ok, 0};
|
||||
_ ->
|
||||
{error, Str}
|
||||
end
|
||||
catch
|
||||
_:_ ->
|
||||
{error, Str}
|
||||
end
|
||||
end,
|
||||
to_capacity(QuotaStr, Str, CanZero, Fun);
|
||||
_ ->
|
||||
|
@ -226,8 +233,9 @@ to_capacity(QuotaStr, Str, CanZero, Fun) ->
|
|||
{error, _Error} -> {error, Str}
|
||||
end.
|
||||
|
||||
check_capacity(_Str, 0, true, _Cont) ->
|
||||
{ok, 0};
|
||||
check_capacity(_Str, 0, true, Cont) ->
|
||||
%% must check the interval part or maybe will get incorrect config, e.g. "0/0sHello"
|
||||
Cont(0);
|
||||
check_capacity(Str, 0, false, _Cont) ->
|
||||
{error, Str};
|
||||
check_capacity(_Str, Quota, _CanZero, Cont) ->
|
||||
|
|
Loading…
Reference in New Issue