Esempio n. 1
0
        public Task <IEnumerable <Binding> > GetAllBindings(Action <ExchangeTarget> exchange,
                                                            Action <VirtualHostTarget> virtualHost,
                                                            Action <BindingDirection> direction,
                                                            CancellationToken cancellationToken =
                                                            default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var exchangeTargetImpl = new ExchangeTargetImpl();

            exchange(exchangeTargetImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

            var directionImpl = new BindingDirectionImpl();

            direction(directionImpl);

            string url = string.Format("api/exchanges/{0}/{1}/bindings/{2}",
                                       virtualHostTargetImpl.Target.SanitizeVirtualHostName(), exchangeTargetImpl.Target,
                                       directionImpl.BindingDirection);

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to return all the bindings for exchange '{0}' belonging to virtual host '{1}'.",
                    exchangeTargetImpl.Target, virtualHostTargetImpl.Target));

            return(base.Get(url, cancellationToken).As <IEnumerable <Binding> >(cancellationToken));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        public Task <ServerResponse> New(Action <ExchangeTarget> exchange, Action <ExchangeBehavior> behavior,
                                         Action <VirtualHostTarget> virtualHost,
                                         CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var behaviorImpl = new ExchangeBehaviorImpl();

            behavior(behaviorImpl);

            var exchangeTargetImpl = new ExchangeTargetImpl();

            exchange(exchangeTargetImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

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

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to create a new exchange '{0}' within virtual host '{1}'.",
                    exchangeTargetImpl.Target, virtualHostTargetImpl.Target));

            return(base.Put(url, behaviorImpl, cancellationToken).Response <ServerResponse>(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));
        }
Esempio n. 5
0
            public void Targeting(Action <ExchangeTarget> target)
            {
                var impl = new ExchangeTargetImpl();

                target(impl);

                _vhost = impl.VirtualHostName;
            }
Esempio n. 6
0
        public Task<ServerResponse> Delete(Action<ExchangeTarget> exchange, Action<VirtualHostTarget> virtualHost,
                                           CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

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

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

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

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

            return base.Delete(url, cancellationToken).Response<ServerResponse>(cancellationToken);
        }
Esempio n. 7
0
        public Task <ServerResponse> Delete(Action <ExchangeTarget> exchange, Action <VirtualHostTarget> virtualHost,
                                            CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var exchangeTargetImpl = new ExchangeTargetImpl();

            exchange(exchangeTargetImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

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

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

            return(base.Delete(url, cancellationToken).Response <ServerResponse>(cancellationToken));
        }
Esempio n. 8
0
        public Task<Exchange> Get(Action<ExchangeTarget> exchange, Action<VirtualHostTarget> virtualHost,
                                  CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

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

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

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to return information pertaining to exchange '{0}' belonging to virtual host '{1}'.",
                    exchangeTargetImpl.Target, virtualHostTargetImpl.Target));

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

            return base.Get(url, cancellationToken).As<Exchange>(cancellationToken);
        }
Esempio n. 9
0
        public Task <Exchange> Get(Action <ExchangeTarget> exchange, Action <VirtualHostTarget> virtualHost,
                                   CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

            var exchangeTargetImpl = new ExchangeTargetImpl();

            exchange(exchangeTargetImpl);

            var virtualHostTargetImpl = new VirtualHostTargetImpl();

            virtualHost(virtualHostTargetImpl);

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to return information pertaining to exchange '{0}' belonging to virtual host '{1}'.",
                    exchangeTargetImpl.Target, virtualHostTargetImpl.Target));

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

            return(base.Get(url, cancellationToken).As <Exchange>(cancellationToken));
        }
Esempio n. 10
0
        public Task<IEnumerable<Binding>> GetAllBindings(Action<ExchangeTarget> exchange,
                                                         Action<VirtualHostTarget> virtualHost,
                                                         Action<BindingDirection> direction,
                                                         CancellationToken cancellationToken =
                                                             default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

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

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

            var directionImpl = new BindingDirectionImpl();
            direction(directionImpl);

            string url = string.Format("api/exchanges/{0}/{1}/bindings/{2}",
                                       virtualHostTargetImpl.Target.SanitizeVirtualHostName(), exchangeTargetImpl.Target,
                                       directionImpl.BindingDirection);

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to return all the bindings for exchange '{0}' belonging to virtual host '{1}'.",
                    exchangeTargetImpl.Target, virtualHostTargetImpl.Target));

            return base.Get(url, cancellationToken).As<IEnumerable<Binding>>(cancellationToken);
        }
Esempio n. 11
0
        public Task<ServerResponse> New(Action<ExchangeTarget> exchange, Action<ExchangeBehavior> behavior,
                                        Action<VirtualHostTarget> virtualHost,
                                        CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.RequestCanceled(LogInfo);

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

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

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

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

            LogInfo(
                string.Format(
                    "Sent request to RabbitMQ server to create a new exchange '{0}' within virtual host '{1}'.",
                    exchangeTargetImpl.Target, virtualHostTargetImpl.Target));

            return base.Put(url, behaviorImpl, cancellationToken).Response<ServerResponse>(cancellationToken);
        }