summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_amqqueue.erl12
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 ->