public Task <ServerResponse> New(Action <QueueBinding> binding, Action <QueueBindingBehavior> behavior,
                                         Action <VirtualHostTarget> virtualHost,
                                         CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var behaviorImpl = new QueueBindingBehaviorImpl();

            behavior(behaviorImpl);

            var bindingImpl = new QueueBindingImpl();

            binding(bindingImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

            string url = string.Format("api/bindings/{0}/e/{1}/q/{2}",
                                       virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       bindingImpl.Exchange, bindingImpl.Queue);

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to bind queue '{0}' to exchange '{1}' belonging to virtual host '{2}'.",
                    bindingImpl.Queue, bindingImpl.Exchange, virtualHostTargetImpl.Target));

            return(base.Post(url, behaviorImpl, cancellationToken).Response <ServerResponse>(cancellationToken));
        }
Пример #2
0
        public Task<ServerResponse> New(Action<QueueBinding> binding, Action<QueueBindingBehavior> behavior,
                                        Action<VirtualHostTarget> virtualHost,
                                        CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var behaviorImpl = new QueueBindingBehaviorImpl();
            behavior(behaviorImpl);

            var bindingImpl = new QueueBindingImpl();
            binding(bindingImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();
            virtualHost(virtualHostTargetImpl);

            string url = string.Format("api/bindings/{0}/e/{1}/q/{2}",
                                       virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       bindingImpl.Exchange, bindingImpl.Queue);

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to bind queue '{0}' to exchange '{1}' belonging to virtual host '{2}'.",
                    bindingImpl.Queue, bindingImpl.Exchange, virtualHostTargetImpl.Target));

            return base.Post(url, behaviorImpl, cancellationToken).Response<ServerResponse>(cancellationToken);
        }
Пример #3
0
        public Task<ServerResponse> New(string queue, string exchange, Action<QueueBindingBehavior> args,
                                        CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var argsImpl = new QueueBindingBehaviorImpl();
            args(argsImpl);

            string url = string.Format("api/bindings/{0}/e/{1}/q/{2}", Init.VirtualHost.SanitizeVirtualHostName(),
                                       exchange, queue);

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to bind queue '{0}' to exchange '{1}' belonging to virtual host '{2}'.",
                    queue, exchange, Init.VirtualHost));

            return base.Post(url, argsImpl, cancellationToken).Response<ServerResponse>(cancellationToken);
        }