alter error macro in prep for custom error handlers
This commit is contained in:
parent
588b5bcd2e
commit
530e2ff73e
1 changed files with 31 additions and 28 deletions
|
@ -99,8 +99,11 @@ decoder(Handler, State, Config) ->
|
||||||
|
|
||||||
%% error, incomplete and event macros
|
%% error, incomplete and event macros
|
||||||
-ifndef(error).
|
-ifndef(error).
|
||||||
-define(error(Args),
|
-define(error(Bin, Handler, Stack, Config),
|
||||||
erlang:error(badarg, Args)
|
erlang:error(badarg)
|
||||||
|
).
|
||||||
|
-define(error(Bin, Handler, Acc, Stack, Config),
|
||||||
|
erlang:error(badarg)
|
||||||
).
|
).
|
||||||
-endif.
|
-endif.
|
||||||
|
|
||||||
|
@ -114,7 +117,7 @@ decoder(Handler, State, Config) ->
|
||||||
Handler,
|
Handler,
|
||||||
Stack,
|
Stack,
|
||||||
Config#config{explicit_end=false}) of
|
Config#config{explicit_end=false}) of
|
||||||
{incomplete, _} -> ?error([Rest, Handler, Stack, Config])
|
{incomplete, _} -> ?error(Rest, Handler, Stack, Config)
|
||||||
; Events -> Events
|
; Events -> Events
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -129,7 +132,7 @@ decoder(Handler, State, Config) ->
|
||||||
Acc,
|
Acc,
|
||||||
Stack,
|
Stack,
|
||||||
Config#config{explicit_end=false}) of
|
Config#config{explicit_end=false}) of
|
||||||
{incomplete, _} -> ?error([Rest, Handler, Acc, Stack, Config])
|
{incomplete, _} -> ?error(Rest, Handler, Acc, Stack, Config)
|
||||||
; Events -> Events
|
; Events -> Events
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -167,7 +170,7 @@ maybe_bom(<<16#bb, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
maybe_bom(<<>>, Handler, Stack, Config) ->
|
maybe_bom(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(maybe_bom, <<>>, Handler, Stack, Config);
|
?incomplete(maybe_bom, <<>>, Handler, Stack, Config);
|
||||||
maybe_bom(Bin, Handler, Stack, Config) ->
|
maybe_bom(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
definitely_bom(<<16#bf, Rest/binary>>, Handler, Stack, Config) ->
|
definitely_bom(<<16#bf, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -175,7 +178,7 @@ definitely_bom(<<16#bf, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
definitely_bom(<<>>, Handler, Stack, Config) ->
|
definitely_bom(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(definitely_bom, <<>>, Handler, Stack, Config);
|
?incomplete(definitely_bom, <<>>, Handler, Stack, Config);
|
||||||
definitely_bom(Bin, Handler, Stack, Config) ->
|
definitely_bom(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
value(<<?doublequote, Rest/binary>>, Handler, Stack, Config) ->
|
value(<<?doublequote, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -205,7 +208,7 @@ value(<<?solidus, Rest/binary>>, Handler, Stack, Config=#config{comments=true})
|
||||||
value(<<>>, Handler, Stack, Config) ->
|
value(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(value, <<>>, Handler, Stack, Config);
|
?incomplete(value, <<>>, Handler, Stack, Config);
|
||||||
value(Bin, Handler, Stack, Config) ->
|
value(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
object(<<?doublequote, Rest/binary>>, Handler, Stack, Config) ->
|
object(<<?doublequote, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -221,7 +224,7 @@ object(<<?solidus, Rest/binary>>, Handler, Stack, Config=#config{comments=true})
|
||||||
object(<<>>, Handler, Stack, Config) ->
|
object(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(object, <<>>, Handler, Stack, Config);
|
?incomplete(object, <<>>, Handler, Stack, Config);
|
||||||
object(Bin, Handler, Stack, Config) ->
|
object(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
array(<<?end_array, Rest/binary>>, Handler, [array|Stack], Config) ->
|
array(<<?end_array, Rest/binary>>, Handler, [array|Stack], Config) ->
|
||||||
|
@ -245,7 +248,7 @@ colon(<<?solidus, Rest/binary>>, Handler, Stack, Config=#config{comments=true})
|
||||||
colon(<<>>, Handler, Stack, Config) ->
|
colon(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(colon, <<>>, Handler, Stack, Config);
|
?incomplete(colon, <<>>, Handler, Stack, Config);
|
||||||
colon(Bin, Handler, Stack, Config) ->
|
colon(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
key(<<?doublequote, Rest/binary>>, Handler, Stack, Config) ->
|
key(<<?doublequote, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -259,7 +262,7 @@ key(<<?solidus, Rest/binary>>, Handler, Stack, Config=#config{comments=true}) ->
|
||||||
key(<<>>, Handler, Stack, Config) ->
|
key(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(key, <<>>, Handler, Stack, Config);
|
?incomplete(key, <<>>, Handler, Stack, Config);
|
||||||
key(Bin, Handler, Stack, Config) ->
|
key(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
%% explicitly whitelist ascii set for better efficiency (seriously, it's worth
|
%% explicitly whitelist ascii set for better efficiency (seriously, it's worth
|
||||||
|
@ -541,7 +544,7 @@ string(<<C, Rest/binary>>, Handler, Acc, Stack, #config{replaced_bad_utf8=true}
|
||||||
string(Bin, Handler, Acc, Stack, Config) ->
|
string(Bin, Handler, Acc, Stack, Config) ->
|
||||||
case partial_utf(Bin) of
|
case partial_utf(Bin) of
|
||||||
true -> ?incomplete(string, Bin, Handler, Acc, Stack, Config);
|
true -> ?incomplete(string, Bin, Handler, Acc, Stack, Config);
|
||||||
false -> ?error([Bin, Handler, Acc, Stack, Config])
|
false -> ?error(Bin, Handler, Acc, Stack, Config)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
@ -623,7 +626,7 @@ unescape(<<$u, $d, A, B, C, ?rsolidus, Rest/binary>>, Handler, Acc, Stack, Confi
|
||||||
true -> ?incomplete(string, <<?rsolidus, $u, $d, A, B, C, ?rsolidus, Rest/binary>>, Handler, Acc, Stack, Config);
|
true -> ?incomplete(string, <<?rsolidus, $u, $d, A, B, C, ?rsolidus, Rest/binary>>, Handler, Acc, Stack, Config);
|
||||||
false when Config#config.replaced_bad_utf8 ->
|
false when Config#config.replaced_bad_utf8 ->
|
||||||
string(<<?rsolidus, Rest/binary>>, Handler, acc_seq(Acc, 16#fffd), Stack, Config);
|
string(<<?rsolidus, Rest/binary>>, Handler, acc_seq(Acc, 16#fffd), Stack, Config);
|
||||||
false -> ?error([<<$u, $d, A, B, C, ?rsolidus, Rest/binary>>, Handler, Acc, Stack, Config])
|
false -> ?error(<<$u, $d, A, B, C, ?rsolidus, Rest/binary>>, Handler, Acc, Stack, Config)
|
||||||
end;
|
end;
|
||||||
unescape(<<$u, $d, A, B, C>>, Handler, Acc, Stack, Config)
|
unescape(<<$u, $d, A, B, C>>, Handler, Acc, Stack, Config)
|
||||||
when (A == $8 orelse A == $9 orelse A == $a orelse A == $b) andalso
|
when (A == $8 orelse A == $9 orelse A == $a orelse A == $b) andalso
|
||||||
|
@ -637,14 +640,14 @@ unescape(<<$u, A, B, C, D, Rest/binary>>, Handler, Acc, Stack, Config)
|
||||||
string(Rest, Handler, acc_seq(Acc, maybe_replace(Codepoint, Config)), Stack, Config);
|
string(Rest, Handler, acc_seq(Acc, maybe_replace(Codepoint, Config)), Stack, Config);
|
||||||
_ when Config#config.replaced_bad_utf8 ->
|
_ when Config#config.replaced_bad_utf8 ->
|
||||||
string(Rest, Handler, acc_seq(Acc, 16#fffd), Stack, Config);
|
string(Rest, Handler, acc_seq(Acc, 16#fffd), Stack, Config);
|
||||||
_ -> ?error([<<$u, A, B, C, D, Rest/binary>>, Handler, Acc, Stack, Config])
|
_ -> ?error(<<$u, A, B, C, D, Rest/binary>>, Handler, Acc, Stack, Config)
|
||||||
end;
|
end;
|
||||||
unescape(Bin, Handler, Acc, Stack, Config=#config{ignored_bad_escapes=true}) ->
|
unescape(Bin, Handler, Acc, Stack, Config=#config{ignored_bad_escapes=true}) ->
|
||||||
string(Bin, Handler, acc_seq(Acc, ?rsolidus), Stack, Config);
|
string(Bin, Handler, acc_seq(Acc, ?rsolidus), Stack, Config);
|
||||||
unescape(Bin, Handler, Acc, Stack, Config) ->
|
unescape(Bin, Handler, Acc, Stack, Config) ->
|
||||||
case is_partial_escape(Bin) of
|
case is_partial_escape(Bin) of
|
||||||
true -> ?incomplete(string, <<?rsolidus/utf8, Bin/binary>>, Handler, Acc, Stack, Config);
|
true -> ?incomplete(string, <<?rsolidus/utf8, Bin/binary>>, Handler, Acc, Stack, Config);
|
||||||
false -> ?error([Bin, Handler, Acc, Stack, Config])
|
false -> ?error(Bin, Handler, Acc, Stack, Config)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
@ -693,7 +696,7 @@ negative(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when ?is_nonzero(S) ->
|
||||||
negative(<<>>, Handler, "-", Stack, Config) ->
|
negative(<<>>, Handler, "-", Stack, Config) ->
|
||||||
?incomplete(value, <<"-">>, Handler, Stack, Config);
|
?incomplete(value, <<"-">>, Handler, Stack, Config);
|
||||||
negative(Bin, Handler, Acc, Stack, Config) ->
|
negative(Bin, Handler, Acc, Stack, Config) ->
|
||||||
?error([Bin, Handler, Acc, Stack, Config]).
|
?error(Bin, Handler, Acc, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
zero(<<?decimalpoint, Rest/binary>>, Handler, Acc, Stack, Config) ->
|
zero(<<?decimalpoint, Rest/binary>>, Handler, Acc, Stack, Config) ->
|
||||||
|
@ -722,7 +725,7 @@ decimal(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S=:= ?zero; ?is_no
|
||||||
decimal(Rest, Handler, acc_seq(Acc, S), Stack, Config);
|
decimal(Rest, Handler, acc_seq(Acc, S), Stack, Config);
|
||||||
decimal(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= $e; S =:= $E ->
|
decimal(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= $e; S =:= $E ->
|
||||||
case Acc of
|
case Acc of
|
||||||
[?decimalpoint|_] -> ?error([<<S, Rest/binary>>, Handler, Acc, Stack, Config]);
|
[?decimalpoint|_] -> ?error(<<S, Rest/binary>>, Handler, Acc, Stack, Config);
|
||||||
_ -> e(Rest, Handler, acc_seq(Acc, $e), Stack, Config)
|
_ -> e(Rest, Handler, acc_seq(Acc, $e), Stack, Config)
|
||||||
end;
|
end;
|
||||||
decimal(Bin, Handler, Acc, Stack, Config) ->
|
decimal(Bin, Handler, Acc, Stack, Config) ->
|
||||||
|
@ -736,7 +739,7 @@ e(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= ?positive; S =:= ?
|
||||||
e(<<>>, Handler, [$e|Acc], Stack, Config) ->
|
e(<<>>, Handler, [$e|Acc], Stack, Config) ->
|
||||||
?incomplete(decimal, <<$e>>, Handler, Acc, Stack, Config);
|
?incomplete(decimal, <<$e>>, Handler, Acc, Stack, Config);
|
||||||
e(Bin, Handler, Acc, Stack, Config) ->
|
e(Bin, Handler, Acc, Stack, Config) ->
|
||||||
?error([Bin, Handler, Acc, Stack, Config]).
|
?error(Bin, Handler, Acc, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
ex(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= ?zero; ?is_nonzero(S) ->
|
ex(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= ?zero; ?is_nonzero(S) ->
|
||||||
|
@ -744,7 +747,7 @@ ex(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= ?zero; ?is_nonzer
|
||||||
ex(<<>>, Handler, [S, $e|Acc], Stack, Config) ->
|
ex(<<>>, Handler, [S, $e|Acc], Stack, Config) ->
|
||||||
?incomplete(decimal, <<$e, S/utf8>>, Handler, Acc, Stack, Config);
|
?incomplete(decimal, <<$e, S/utf8>>, Handler, Acc, Stack, Config);
|
||||||
ex(Bin, Handler, Acc, Stack, Config) ->
|
ex(Bin, Handler, Acc, Stack, Config) ->
|
||||||
?error([Bin, Handler, Acc, Stack, Config]).
|
?error(Bin, Handler, Acc, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
exp(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= ?zero; ?is_nonzero(S) ->
|
exp(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= ?zero; ?is_nonzero(S) ->
|
||||||
|
@ -775,7 +778,7 @@ finish_number(<<>>, Handler, {NumType, Acc}, Stack, Config) ->
|
||||||
exp -> ?incomplete(exp, <<>>, Handler, Acc, Stack, Config)
|
exp -> ?incomplete(exp, <<>>, Handler, Acc, Stack, Config)
|
||||||
end;
|
end;
|
||||||
finish_number(Bin, Handler, Acc, Stack, Config) ->
|
finish_number(Bin, Handler, Acc, Stack, Config) ->
|
||||||
?error([Bin, Handler, Acc, Stack, Config]).
|
?error(Bin, Handler, Acc, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
format_number({zero, Acc}) -> {integer, list_to_integer(lists:reverse(Acc))};
|
format_number({zero, Acc}) -> {integer, list_to_integer(lists:reverse(Acc))};
|
||||||
|
@ -793,7 +796,7 @@ true(<<$r>>, Handler, Stack, Config) ->
|
||||||
true(<<>>, Handler, Stack, Config) ->
|
true(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(true, <<>>, Handler, Stack, Config);
|
?incomplete(true, <<>>, Handler, Stack, Config);
|
||||||
true(Bin, Handler, Stack, Config) ->
|
true(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
false(<<$a, $l, $s, $e, Rest/binary>>, Handler, Stack, Config) ->
|
false(<<$a, $l, $s, $e, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -807,7 +810,7 @@ false(<<$a>>, Handler, Stack, Config) ->
|
||||||
false(<<>>, Handler, Stack, Config) ->
|
false(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(false, <<>>, Handler, Stack, Config);
|
?incomplete(false, <<>>, Handler, Stack, Config);
|
||||||
false(Bin, Handler, Stack, Config) ->
|
false(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
null(<<$u, $l, $l, Rest/binary>>, Handler, Stack, Config) ->
|
null(<<$u, $l, $l, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -819,7 +822,7 @@ null(<<$u>>, Handler, Stack, Config) ->
|
||||||
null(<<>>, Handler, Stack, Config) ->
|
null(<<>>, Handler, Stack, Config) ->
|
||||||
?incomplete(null, <<>>, Handler, Stack, Config);
|
?incomplete(null, <<>>, Handler, Stack, Config);
|
||||||
null(Bin, Handler, Stack, Config) ->
|
null(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
%% this just exists to bridge to when i can properly clean up comments
|
%% this just exists to bridge to when i can properly clean up comments
|
||||||
|
@ -838,7 +841,7 @@ comment(<<_, Rest/binary>>, Handler, [comment|Stack], Config=#config{replaced_ba
|
||||||
comment(<<>>, Handler, [Resume|Stack], Config) ->
|
comment(<<>>, Handler, [Resume|Stack], Config) ->
|
||||||
?incomplete(comment, <<>>, Handler, Resume, Stack, Config);
|
?incomplete(comment, <<>>, Handler, Resume, Stack, Config);
|
||||||
comment(Bin, Handler, Stack, Config) ->
|
comment(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
single_comment(<<?newline, Rest/binary>>, Handler, Stack, Config) ->
|
single_comment(<<?newline, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -852,7 +855,7 @@ single_comment(<<>>, Handler, [done], Config=#config{explicit_end=false}) ->
|
||||||
single_comment(<<>>, Handler, [Resume|Stack], Config) ->
|
single_comment(<<>>, Handler, [Resume|Stack], Config) ->
|
||||||
?incomplete(comment, <<?solidus>>, Handler, Resume, Stack, Config);
|
?incomplete(comment, <<?solidus>>, Handler, Resume, Stack, Config);
|
||||||
single_comment(Bin, Handler, Stack, Config) ->
|
single_comment(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
multi_comment(<<?star, Rest/binary>>, Handler, Stack, Config) ->
|
multi_comment(<<?star, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -866,7 +869,7 @@ multi_comment(<<_, Rest/binary>>, Handler, Stack, Config=#config{replaced_bad_ut
|
||||||
multi_comment(<<>>, Handler, [Resume|Stack], Config) ->
|
multi_comment(<<>>, Handler, [Resume|Stack], Config) ->
|
||||||
?incomplete(comment, <<?star>>, Handler, Resume, Stack, Config);
|
?incomplete(comment, <<?star>>, Handler, Resume, Stack, Config);
|
||||||
multi_comment(Bin, Handler, Stack, Config) ->
|
multi_comment(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
end_multi_comment(<<?solidus, Rest/binary>>, Handler, Stack, Config) ->
|
end_multi_comment(<<?solidus, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
|
@ -876,7 +879,7 @@ end_multi_comment(<<_S/utf8, Rest/binary>>, Handler, Stack, Config) ->
|
||||||
end_multi_comment(<<>>, Handler, [Resume|Stack], Config) ->
|
end_multi_comment(<<>>, Handler, [Resume|Stack], Config) ->
|
||||||
?incomplete(comment, <<?star, ?space, ?star>>, Handler, Resume, Stack, Config);
|
?incomplete(comment, <<?star, ?space, ?star>>, Handler, Resume, Stack, Config);
|
||||||
end_multi_comment(Bin, Handler, Stack, Config) ->
|
end_multi_comment(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
end_comment(Rest, Handler, [Resume|Stack], Config) ->
|
end_comment(Rest, Handler, [Resume|Stack], Config) ->
|
||||||
|
@ -909,7 +912,7 @@ maybe_done(<<?solidus, Rest/binary>>, Handler, Stack, Config=#config{comments=tr
|
||||||
maybe_done(<<>>, Handler, Stack, Config) when length(Stack) > 0 ->
|
maybe_done(<<>>, Handler, Stack, Config) when length(Stack) > 0 ->
|
||||||
?incomplete(maybe_done, <<>>, Handler, Stack, Config);
|
?incomplete(maybe_done, <<>>, Handler, Stack, Config);
|
||||||
maybe_done(Bin, Handler, Stack, Config) ->
|
maybe_done(Bin, Handler, Stack, Config) ->
|
||||||
?error([Bin, Handler, Stack, Config]).
|
?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
done(<<S, Rest/binary>>, Handler, [], Config) when ?is_whitespace(S) ->
|
done(<<S, Rest/binary>>, Handler, [], Config) when ?is_whitespace(S) ->
|
||||||
|
@ -923,7 +926,7 @@ done(<<>>, {Handler, State}, [], Config = #config{explicit_end=true}) ->
|
||||||
end
|
end
|
||||||
};
|
};
|
||||||
done(<<>>, {_Handler, State}, [], _Config) -> State;
|
done(<<>>, {_Handler, State}, [], _Config) -> State;
|
||||||
done(Bin, Handler, Stack, Config) -> ?error([Bin, Handler, Stack, Config]).
|
done(Bin, Handler, Stack, Config) -> ?error(Bin, Handler, Stack, Config).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue