From 560febdea35721a5a1a3186b9688379512797e74 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 10 May 2012 11:49:09 -0400 Subject: [PATCH] Support default exchange routing in Basic_publish --- amqp_relay.ml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/amqp_relay.ml b/amqp_relay.ml index d75ad30..77cc98f 100644 --- a/amqp_relay.ml +++ b/amqp_relay.ml @@ -336,9 +336,14 @@ let handle_method conn channel m = | Basic_publish (exchange, routing_key, false, false) -> lwt (_, (body_size, properties)) = next_header conn in lwt body = recv_content_body conn body_size in + let (pseudotype, sink, name) = + if exchange = "" + then ("Queue", routing_key, "") + else ("Exchange", exchange, routing_key) + in (match_lwt - Node.post' exchange - (Sexp.Str routing_key) + Node.post' sink + (Sexp.Str name) (Sexp.Hint {Sexp.hint = Sexp.Str "amqp"; Sexp.body = Sexp.Arr [Sexp.Str exchange; Sexp.Str routing_key; @@ -347,7 +352,7 @@ let handle_method conn channel m = (Sexp.Str "") with | true -> return () - | false -> send_warning conn not_found ("Exchange "^exchange^" not found")) + | false -> send_warning conn not_found (pseudotype^" '"^sink^"' not found")) | Basic_ack (delivery_tag, multiple) -> return () | _ ->