diff options
| author | Alvaro Videla <alvaro@rabbitmq.com> | 2014-01-22 19:05:21 +0100 |
|---|---|---|
| committer | Alvaro Videla <alvaro@rabbitmq.com> | 2014-01-22 19:05:21 +0100 |
| commit | 6657b20d1fa1f0f4e8f1f7cad62c3ed1b59a4442 (patch) | |
| tree | d1d052f12f093b8193286a9cbe436da7a49bb519 | |
| parent | 60413cd2abca9d5369cae6fb13444d6689d6acf6 (diff) | |
| download | rabbitmq-server-git-6657b20d1fa1f0f4e8f1f7cad62c3ed1b59a4442.tar.gz | |
passes vhost to interceptor
| -rw-r--r-- | src/rabbit_channel.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_channel_interceptor.erl | 16 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 43471eb721..88922a8ffc 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -267,13 +267,14 @@ handle_call(_Request, _From, State) -> noreply(State). handle_cast({method, Method, Content, Flow}, - State = #ch{reader_pid = Reader}) -> + State = #ch{reader_pid = Reader, + virtual_host = VHost}) -> case Flow of flow -> credit_flow:ack(Reader); noflow -> ok end, try handle_method(rabbit_channel_interceptor:intercept_method( - expand_shortcuts(Method, State)), + expand_shortcuts(Method, State), VHost), Content, State) of {reply, Reply, NewState} -> ok = send(Reply, NewState), diff --git a/src/rabbit_channel_interceptor.erl b/src/rabbit_channel_interceptor.erl index 5d1665e028..636b061092 100644 --- a/src/rabbit_channel_interceptor.erl +++ b/src/rabbit_channel_interceptor.erl @@ -22,7 +22,7 @@ -include("rabbit_framing.hrl"). -include("rabbit.hrl"). --export([intercept_method/1]). +-export([intercept_method/2]). -ifdef(use_specs). @@ -51,15 +51,15 @@ behaviour_info(_Other) -> %%---------------------------------------------------------------------------- -intercept_method(#'basic.publish'{} = M) -> +intercept_method(#'basic.publish'{} = M, _VHost) -> M; -intercept_method(M) -> - intercept_method(M, select(rabbit_misc:method_record_type(M))). +intercept_method(M, VHost) -> + intercept_method(M, VHost, select(rabbit_misc:method_record_type(M))). -intercept_method(M, []) -> +intercept_method(M, _VHost, []) -> M; -intercept_method(M, [I]) -> - case I:intercept(M) of +intercept_method(M, VHost, [I]) -> + case I:intercept(M, VHost) of {ok, M2} -> case validate_method(M, M2) of true -> @@ -74,7 +74,7 @@ intercept_method(M, [I]) -> internal_error("Interceptor: ~p failed with reason: ~p", [I, Reason]) end; -intercept_method(M, Is) -> +intercept_method(M, _VHost, Is) -> internal_error("More than one interceptor for method: ~p -- ~p", [rabbit_misc:method_record_type(M), Is]). |
