Ejemplo n.º 1
0
        public Task <ServerResponse> New(Action <QueueTarget> queue, Action <QueueBehavior> behavior,
                                         Action <VirtualHostTarget> virtualHost,
                                         CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var queueTargetImpl = new QueueTargetImpl();

            queue(queueTargetImpl);

            var behaviorImpl = new QueueBehaviorImpl();

            behavior(behaviorImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

            string url = string.Format("api/queues/{0}/{1}", virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       queueTargetImpl.Target);

            LogInfo(string.IsNullOrEmpty(behaviorImpl.Node)
                        ? string.Format(
                        "Sent request to RabbitMQ server to create queue '{0}' on virtual host '{1}'.",
                        queueTargetImpl.Target,
                        virtualHostTargetImpl.Target)
                        : string.Format(
                        "Sent request to RabbitMQ server to create queue '{0}' on virtual host '{1}' on node '{2}'.",
                        queueTargetImpl.Target, virtualHostTargetImpl.Target, behaviorImpl.Node));

            return(base.Put(url, behaviorImpl, cancellationToken).Response <ServerResponse>(cancellationToken));
        }
Ejemplo n.º 2
0
        public Task<Binding> Get(Action<QueueTarget> queue, Action<ExchangeTarget> exchange,
                                 Action<VirtualHostTarget> virtualHost, Action<PropertiesKeyTarget> propertiesKey,
                                 CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var queueTargetImpl = new QueueTargetImpl();
            queue(queueTargetImpl);

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

            var exchangeTargetImpl = new ExchangeTargetImpl();
            exchange(exchangeTargetImpl);

            var propertiesKeyTargetImpl = new PropertiesKeyTargetImpl();
            propertiesKey(propertiesKeyTargetImpl);

            string url = string.Format("api/bindings/{0}/e/{1}/q/{2}/{3}",
                                       virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       exchangeTargetImpl.Target, queueTargetImpl.Target,
                                       propertiesKeyTargetImpl.Target.SanitizePropertiesKey());

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to return queue binding between queue '{0}' and exchange '{1}' in virtual host '{2}'.",
                    queueTargetImpl.Target, exchangeTargetImpl.Target, virtualHostTargetImpl.Target));

            return base.Get(url, cancellationToken).As<Binding>(cancellationToken);
        }
        public Task <ServerResponse> Delete(Action <QueueTarget> queue, Action <ExchangeTarget> exchange,
                                            Action <VirtualHostTarget> virtualHost,
                                            Action <PropertiesKeyTarget> propertiesKey,
                                            CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var queueTargetImpl = new QueueTargetImpl();

            queue(queueTargetImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

            var exchangeTargetImpl = new ExchangeTargetImpl();

            exchange(exchangeTargetImpl);

            var propertiesKeyTargetImpl = new PropertiesKeyTargetImpl();

            propertiesKey(propertiesKeyTargetImpl);

            string url = string.Format("api/bindings/{0}/e/{1}/q/{2}/{3}",
                                       virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       exchangeTargetImpl.Target, queueTargetImpl.Target,
                                       propertiesKeyTargetImpl.Target.SanitizePropertiesKey());

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to delete queue binding between queue '{0}' and exchange '{1}' in virtual host '{2}'.",
                    queueTargetImpl.Target, exchangeTargetImpl.Target, virtualHostTargetImpl.Target));

            return(base.Delete(url, cancellationToken).Response <ServerResponse>(cancellationToken));
        }
Ejemplo n.º 4
0
            public void Target(Action <QueueTarget> target)
            {
                var impl = new QueueTargetImpl();

                target(impl);

                _vhost = impl.VirtualHostName;
            }
Ejemplo n.º 5
0
        public Task<ServerResponse> Delete(Action<QueueTarget> queue, Action<VirtualHostTarget> virtualHost,
                                           CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var queueTargetImpl = new QueueTargetImpl();
            queue(queueTargetImpl);

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

            string url = string.Format("api/queues/{0}/{1}", virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       queueTargetImpl.Target);

            LogInfo(string.Format("Sent request to RabbitMQ server to delete queue '{0}' from virtual host '{1}'.",
                                  queueTargetImpl.Target, virtualHostTargetImpl.Target));

            return base.Delete(url, cancellationToken).Response<ServerResponse>(cancellationToken);
        }
Ejemplo n.º 6
0
        public Task <ServerResponse> Delete(Action <QueueTarget> queue, Action <VirtualHostTarget> virtualHost,
                                            CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var queueTargetImpl = new QueueTargetImpl();

            queue(queueTargetImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

            string url = string.Format("api/queues/{0}/{1}", virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       queueTargetImpl.Target);

            LogInfo(string.Format("Sent request to RabbitMQ server to delete queue '{0}' from virtual host '{1}'.",
                                  queueTargetImpl.Target, virtualHostTargetImpl.Target));

            return(base.Delete(url, cancellationToken).Response <ServerResponse>(cancellationToken));
        }
        public Task <IEnumerable <Binding> > GetAll(Action <QueueTarget> queue, Action <VirtualHostTarget> virtualHost,
                                                    CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var queueTargetImpl = new QueueTargetImpl();

            queue(queueTargetImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to return all bindings on queue '{0}' belonging to virtual host '{1}'.",
                    queueTargetImpl.Target, virtualHostTargetImpl.Target));

            string url = string.Format("api/queues/{0}/{1}/bindings",
                                       virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       queueTargetImpl.Target);

            return(base.Get(url, cancellationToken).As <IEnumerable <Binding> >(cancellationToken));
        }
Ejemplo n.º 8
0
        public Task<ServerResponse> New(Action<QueueTarget> queue, Action<QueueBehavior> behavior,
                                        Action<VirtualHostTarget> virtualHost,
                                        CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var queueTargetImpl = new QueueTargetImpl();
            queue(queueTargetImpl);

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

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

            string url = string.Format("api/queues/{0}/{1}", virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       queueTargetImpl.Target);

            LogInfo(string.IsNullOrEmpty(behaviorImpl.Node)
                        ? string.Format(
                            "Sent request to RabbitMQ server to create queue '{0}' on virtual host '{1}'.",
                            queueTargetImpl.Target,
                            virtualHostTargetImpl.Target)
                        : string.Format(
                            "Sent request to RabbitMQ server to create queue '{0}' on virtual host '{1}' on node '{2}'.",
                            queueTargetImpl.Target, virtualHostTargetImpl.Target, behaviorImpl.Node));

            return base.Put(url, behaviorImpl, cancellationToken).Response<ServerResponse>(cancellationToken);
        }
Ejemplo n.º 9
0
        public Task<IEnumerable<Binding>> GetAll(Action<QueueTarget> queue, Action<VirtualHostTarget> virtualHost,
                                                 CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var queueTargetImpl = new QueueTargetImpl();
            queue(queueTargetImpl);

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

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to return all bindings on queue '{0}' belonging to virtual host '{1}'.",
                    queueTargetImpl.Target, virtualHostTargetImpl.Target));

            string url = string.Format("api/queues/{0}/{1}/bindings",
                                       virtualHostTargetImpl.Target.SanitizeVirtualHostName(),
                                       queueTargetImpl.Target);

            return base.Get(url, cancellationToken).As<IEnumerable<Binding>>(cancellationToken);
        }