diff options
-rw-r--r-- | src/rabbit_amqqueue.erl | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index 523a7bba..e9280081 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -335,9 +335,19 @@ check_declare_arguments(QueueName = #resource{virtual_host = VHostPath}, [{<<"x-expires">>, fun check_integer_argument/3}, {<<"x-message-ttl">>, fun check_integer_argument/3}, {<<"x-ha-policy">>, fun check_ha_policy_argument/3}, - {<<"x-dead-letter-exchange">>, fun check_exchange_argument/3}]], + {<<"x-dead-letter-exchange">>, + fun check_exchange_argument/3}, + {<<"x-dead-letter-routing-key">>, + fun check_string_argument/3}]], ok. +check_string_argument(undefined, _Args, _VHostPath) -> + ok; +check_string_argument({longstr, _}, _Args, _VHostPath) -> + ok; +check_string_argument({Type, _}, _, _) -> + {error, {unacceptable_type, Type}}. + check_integer_argument(undefined, _Args, _VHostPath) -> ok; check_integer_argument({Type, Val}, _Args, _VHostPath) when Val > 0 -> |