diff options
| author | Tony Garnock-Jones <tonyg@kcbbs.gen.nz> | 2009-01-15 14:13:25 +1300 |
|---|---|---|
| committer | Tony Garnock-Jones <tonyg@kcbbs.gen.nz> | 2009-01-15 14:13:25 +1300 |
| commit | b506530be5b93d8f39b3fdb7aae2c41592e2025a (patch) | |
| tree | 0b18b430a7100e67587344c6cbf5e0128b16f335 /src | |
| parent | 26e0b857593d1375ae30d4a63a6fbf2acd2e0560 (diff) | |
| download | rabbitmq-server-git-b506530be5b93d8f39b3fdb7aae2c41592e2025a.tar.gz | |
Add "amq.match" builtin exchange; accept "headers" in exchange.declare; and
stub out routing implementation for headers exchanges.
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_access_control.erl | 1 | ||||
| -rw-r--r-- | src/rabbit_exchange.erl | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl index b73090fc44..e2d96c711a 100644 --- a/src/rabbit_access_control.erl +++ b/src/rabbit_access_control.erl @@ -186,6 +186,7 @@ add_vhost(VHostPath) -> [{<<"">>, direct}, {<<"amq.direct">>, direct}, {<<"amq.topic">>, topic}, + {<<"amq.match">>, headers}, {<<"amq.fanout">>, fanout}]], ok; [_] -> diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index 925c335cee..03478a4d49 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -145,6 +145,8 @@ check_type(<<"direct">>) -> direct; check_type(<<"topic">>) -> topic; +check_type(<<"headers">>) -> + headers; check_type(T) -> rabbit_misc:protocol_error( command_invalid, "invalid exchange type '~s'", [T]). @@ -252,6 +254,9 @@ route(#exchange{name = Name, type = topic}, RoutingKey) -> topic_matches(BindingKey, RoutingKey)] end); +route(X = #exchange{type = headers}, _RoutingKey) -> + exit(headers_unimplemented); + route(X = #exchange{type = fanout}, _) -> route_internal(X, '_'); |
