diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2012-03-28 14:22:52 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2012-03-28 14:22:52 +0100 |
| commit | 3bb80f82d73ebd9df3031171b50dd142dbb68bbd (patch) | |
| tree | 70a153fabaa369049a629c700947f64c32ec8e65 /src | |
| parent | 7900e65cf89fc9c28cbef3f1454a1ef61584c94f (diff) | |
| download | rabbitmq-server-git-3bb80f82d73ebd9df3031171b50dd142dbb68bbd.tar.gz | |
refactor: extract undefined-ness check
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_amqqueue.erl | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index c409fd3e79..9ecbcbc339 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -335,24 +335,24 @@ check_declare_arguments(QueueName, Args) -> {<<"x-ha-policy">>, fun check_ha_policy_arg/2}, {<<"x-dead-letter-exchange">>, fun check_string_arg/2}, {<<"x-dead-letter-routing-key">>, fun check_dlxrk_arg/2}], - [case Fun(rabbit_misc:table_lookup(Args, Key), Args) of - ok -> ok; - {error, Error} -> rabbit_misc:protocol_error( - precondition_failed, - "invalid arg '~s' for ~s: ~255p", - [Key, rabbit_misc:rs(QueueName), Error]) + [case rabbit_misc:table_lookup(Args, Key) of + undefined -> ok; + TypeVal -> case Fun(TypeVal, Args) of + ok -> ok; + {error, Error} -> rabbit_misc:protocol_error( + precondition_failed, + "invalid arg '~s' for ~s: ~255p", + [Key, rabbit_misc:rs(QueueName), + Error]) + end end || {Key, Fun} <- Checks], ok. -check_string_arg(undefined, _Args) -> - ok; check_string_arg({longstr, _}, _Args) -> ok; check_string_arg({Type, _}, _) -> {error, {unacceptable_type, Type}}. -check_positive_int_arg(undefined, _Args) -> - ok; check_positive_int_arg({Type, Val}, _Args) -> case lists:member(Type, ?INTEGER_ARG_TYPES) of false -> {error, {unacceptable_type, Type}}; @@ -360,8 +360,6 @@ check_positive_int_arg({Type, Val}, _Args) -> true -> ok end. -check_dlxrk_arg(undefined, _Args) -> - ok; check_dlxrk_arg({longstr, _}, Args) -> case rabbit_misc:table_lookup(Args, <<"x-dead-letter-exchange">>) of undefined -> {error, routing_key_but_no_dlx_defined}; @@ -370,8 +368,6 @@ check_dlxrk_arg({longstr, _}, Args) -> check_dlxrk_arg({Type, _}, _Args) -> {error, {unacceptable_type, Type}}. -check_ha_policy_arg(undefined, _Args) -> - ok; check_ha_policy_arg({longstr, <<"all">>}, _Args) -> ok; check_ha_policy_arg({longstr, <<"nodes">>}, Args) -> |
