コード例 #1
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));
        }
コード例 #2
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);
        }