diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2011-02-15 12:16:10 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2011-02-15 12:16:10 +0000 |
commit | 6b0b5feea8df8cce7b0725611eee29e0d97f053e (patch) | |
tree | 1107621b7fc090f7d58876367e83ab003aa5afbd | |
parent | 3bd268d0e90d2808e56244aab2f207cea68dc751 (diff) | |
download | rabbitmq-server-6b0b5feea8df8cce7b0725611eee29e0d97f053e.tar.gz |
simplified and better error reporting on queue declare arg checks
-rw-r--r-- | src/rabbit_amqqueue.erl | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index 6e5aae27..1c89539f 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -300,29 +300,19 @@ check_declare_arguments(QueueName, Args) -> "invalid arg '~s' for ~s: ~w", [Key, rabbit_misc:rs(QueueName), Error]) end || {Key, Fun} <- - [{<<"x-expires">>, fun check_expires_argument/1}, - {<<"x-message-ttl">>, fun check_message_ttl_argument/1}]], + [{<<"x-expires">>, fun check_integer_argument/1}, + {<<"x-message-ttl">>, fun check_integer_argument/1}]], ok. -check_expires_argument(Val) -> - check_integer_argument(Val, - expires_not_of_acceptable_type, - expires_zero_or_less). - -check_message_ttl_argument(Val) -> - check_integer_argument(Val, - ttl_not_of_acceptable_type, - ttl_zero_or_less). - -check_integer_argument(undefined, _, _) -> +check_integer_argument(undefined) -> ok; -check_integer_argument({Type, Val}, InvalidTypeError, _) when Val > 0 -> +check_integer_argument({Type, Val}) when Val > 0 -> case lists:member(Type, ?INTEGER_ARG_TYPES) of true -> ok; - false -> {error, {InvalidTypeError, Type, Val}} + false -> {error, {unacceptable_type, Type}} end; -check_integer_argument({_Type, _Val}, _, ZeroOrLessError) -> - {error, ZeroOrLessError}. +check_integer_argument({_Type, Val}) -> + {error, {value_zero_or_less, Val}}. list(VHostPath) -> mnesia:dirty_match_object( |