From 705efaca0082070875ec716c638e288ed5074bfe Mon Sep 17 00:00:00 2001 From: Niclas Axelsson Date: Tue, 20 Sep 2022 11:44:23 +0200 Subject: [PATCH] Return a different error when a comparator is not found --- src/routing_tree.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routing_tree.erl b/src/routing_tree.erl index 0880523..e7dd0b8 100644 --- a/src/routing_tree.erl +++ b/src/routing_tree.erl @@ -87,8 +87,8 @@ lookup_binary(<<$/, Rest/bits>>, Comparator, Tree, {Bindings, _}, Ack) -> {ok, #node_comp{value = Value0}} -> Tokens = binary:split(Rest, <<"/">>, [global, trim_all]), {ok, Bindings0, Value0, [Ack | Tokens]}; - _ -> - {error, not_found} + Error -> + Error end; {ok, Bindings0, SubNode = #node{children = Children}} -> lookup_binary(Rest, Comparator, Children, {Bindings0, SubNode}, <<>>); @@ -206,7 +206,7 @@ insert([{Type, Ident}|Tl], CompNode, Siblings, Options = #{use_strict := UseStri case Tl of List when ( List == []) orelse (List == [{segment, <<>>}]) -> case find_comparator(CompNode#node_comp.comparator, Node#node.value) of - {error, not_found} -> + {error, comparator_not_found} -> [Node#node{value = [CompNode|Node#node.value], is_binding = Type == binding, is_wildcard = Type == wildcard} | lists:delete(Node, Siblings)]; {ok, _NodeComp} -> @@ -251,7 +251,7 @@ lookup_segment(Ident, Bindings, [_Hd|Tl], WCNode) -> -spec find_comparator(Comparator :: any(), [#node_comp{}]) -> {ok, Node :: #node_comp{}} | {error, not_found}. -find_comparator(_, []) -> {error, not_found}; +find_comparator(_, []) -> {error, comparator_not_found}; find_comparator(Comparator, [#node_comp{comparator = Comparator}=Node|_Tl]) -> {ok, Node}; find_comparator(Comparator, [#node_comp{comparator = '_'}=Node|Tl]) ->