diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_policies.erl | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/rabbit_policies.erl b/src/rabbit_policies.erl index a77e1e7b27..ce763777c7 100644 --- a/src/rabbit_policies.erl +++ b/src/rabbit_policies.erl @@ -34,20 +34,25 @@ register() -> {policy_validator, <<"dead-letter-routing-key">>}]], ok. -validate_policy([{<<"alternate-exchange">>, Value}]) +validate_policy(Terms) -> + lists:foldl(fun ({Key, Value}, ok) -> validate_policy0(Key, Value); + (_, Error) -> Error + end, ok, Terms). + +validate_policy0(<<"alternate-exchange">>, Value) when is_binary(Value) -> ok; -validate_policy([{<<"alternate-exchange">>, Value}]) -> +validate_policy0(<<"alternate-exchange">>, Value) -> {error, "~p is not a valid alternate exchange name", [Value]}; -validate_policy([{<<"dead-letter-exchange">>, Value}]) +validate_policy0(<<"dead-letter-exchange">>, Value) when is_binary(Value) -> ok; -validate_policy([{<<"dead-letter-exchange">>, Value}]) -> +validate_policy0(<<"dead-letter-exchange">>, Value) -> {error, "~p is not a valid dead letter exchange name", [Value]}; -validate_policy([{<<"dead-letter-routing-key">>, Value}]) +validate_policy0(<<"dead-letter-routing-key">>, Value) when is_binary(Value) -> ok; -validate_policy([{<<"dead-letter-routing-key">>, Value}]) -> +validate_policy0(<<"dead-letter-routing-key">>, Value) -> {error, "~p is not a valid dead letter routing key", [Value]}. |
