void GivenABrowser()
        {
            _requeueAndRemove = Substitute.For <IRequeueAndRemove>();
            _modelCreator     = Substitute.For <IModelCreator>();
            _commandSender    = Substitute.For <ICommandSender>();

            Browser = new Browser(with =>
            {
                with.Module <BusManagerModule>();
                with.Dependency(_requeueAndRemove);
                with.Dependency(_modelCreator);
                with.Dependency(_commandSender);
            });
        }
示例#2
0
 public DeadLetterMessageCommandHandler(IRequeueAndRemove requeueAndRemove)
 {
     _requeueAndRemove = requeueAndRemove;
 }
示例#3
0
 public RemoveMessageCommandHandler(IRequeueAndRemove requeueAndRemove)
 {
     _requeueAndRemove = requeueAndRemove;
 }
示例#4
0
 public DeleteAllDeadLettersCommandHandler(NamespaceManager namespaceManager, IRequeueAndRemove requeueAndRemove)
 {
     _namespaceManager = namespaceManager;
     _requeueAndRemove = requeueAndRemove;
 }
示例#5
0
        public BusManagerModule(IRequeueAndRemove requeueAndRemove, IModelCreator modelCreator, ICommandSender commandSender) : base("/api/v1/busmanager")
        {
            _requeueAndRemove = requeueAndRemove;
            _modelCreator     = modelCreator;
            _commandSender    = commandSender;

            Get["/"] =
                _ => _modelCreator.Build <Overview>();
            Post["/deleteall"] =
                _ => {
                _commandSender.Send(new DeleteAllBusEntititesCommand());
                return(new { success = true });
            };
            Post["/deletealldeadletters"] =
                _ => {
                _commandSender.Send(new DeleteAllDeadLettersCommand());
                return(new { success = true });
            };
            Get["/deadletters"] =
                _ => _modelCreator.Build <DeadletterView>();
            Get["/topic/{tid}"] =
                _ => _modelCreator.Build <Topic, TopicCriteria>(new TopicCriteria(To.String((object)_.tid)));
            Get["/queue/{qid}"] =
                _ => _modelCreator.Build <Queue, QueueCriteria>(new QueueCriteria(To.String((object)_.qid)));
            Get["/topic/{tid}/{sid}"] =
                _ => _modelCreator.Build <Subscription, SubscriptionCriteria>(new SubscriptionCriteria(To.String((object)_.tid), To.String((object)_.sid), true));
            Get["queue/{qid}/messages/{count}"] =
                _ => _modelCreator.Build <MessageView, FindQueuedMessages>(new FindQueuedMessages(To.String((object)_.qid).UnescapePathName(), To.Int(_.count)));
            Get["topic/{tid}/{sid}/messages/{count}"] =
                _ => _modelCreator.Build <MessageView, FindSubscriptionMessages>(new FindSubscriptionMessages(To.String((object)_.tid), To.String((object)_.sid).UnescapePathName(), To.Int(_.count)));
            Post["/queue/{qid}/requeue/all"] = _ =>
            {
                var qid = To.String((object)_.qid).UnescapePathName();
                _requeueAndRemove.RequeueAll(qid);
                return(_modelCreator.Build <Queue, QueueCriteria>(new QueueCriteria(qid.RemoveDeadLetterPath(), true)));
            };
            Post["/topic/{tid}/{sid}/requeue/all"] = _ =>
            {
                var tid = To.String((object)_.tid);
                var sid = To.String((object)_.sid).UnescapePathName();
                _requeueAndRemove.RequeueAll(tid, sid);
                return(_modelCreator.Build <Subscription, SubscriptionCriteria>(new SubscriptionCriteria(tid, sid.RemoveDeadLetterPath(), true)));
            };
            Post["/queue/{qid}/remove/all"] = _ =>
            {
                var qid = To.String((object)_.qid).UnescapePathName();
                _requeueAndRemove.RemoveAll(qid);
                return(_modelCreator.Build <Queue, QueueCriteria>(new QueueCriteria(qid.RemoveDeadLetterPath(), true)));
            };
            Post["/topic/{tid}/{sid}/remove/all"] = _ =>
            {
                var tid = To.String((object)_.tid);
                var sid = To.String((object)_.sid).UnescapePathName();
                _requeueAndRemove.RemoveAll(tid, sid);
                return(_modelCreator.Build <Subscription, SubscriptionCriteria>(new SubscriptionCriteria(tid, sid.RemoveDeadLetterPath(), true)));
            };
            Post["queue/{qid}/delete"] =
                _ => {
                _commandSender.Send(new DeleteQueueCommand(To.String((object)_.qid).UnescapePathName().RemoveDeadLetterPath()));
                _commandSender.Send(new RefreshCachedOverviewCommand());
                return(new { success = true });
            };
            Post["topic/{tid}/delete"] =
                _ => {
                _commandSender.Send(new DeleteTopicCommand(To.String((object)_.tid).UnescapePathName()));
                _commandSender.Send(new RefreshCachedOverviewCommand());
                return(new { success = true });
            };
            Post["topic/{tid}/{sid}/delete"] =
                _ => {
                _commandSender.Send(new DeleteSubscriptionCommand(To.String((object)_.tid).UnescapePathName(), To.String((object)_.sid).UnescapePathName().RemoveDeadLetterPath()));
                _commandSender.Send(new RefreshCachedOverviewCommand());
                return(new { success = true });
            };
            Post["queue/{qid}/remove"] =
                _ => { _commandSender.Send(new RemoveMessageCommand(Request.Form.messageId, To.String((object)_.qid).UnescapePathName())); return(new { success = true }); };
            Post["queue/{qid}/dead/{mid}"] =
                _ => { _commandSender.Send(new DeadLetterMessageCommand(To.String((object)_.mid), To.String((object)_.qid).UnescapePathName())); return(new { success = true }); };
            Post["queue/{qid}/dead"] =
                _ =>
            {
                _commandSender.Send(new DeadLetterAllMessagesCommand(To.String((object)_.qid).UnescapePathName()));
                return(_modelCreator.Build <Queue, QueueCriteria>(new QueueCriteria(To.String((object)_.qid).RemoveDeadLetterPath(), true)));
            };
            Post["queue/{qid}/requeue"] =
                _ => { _commandSender.Send(new RequeueMessageCommand(Request.Form.messageId, To.String((object)_.qid).UnescapePathName())); return(new { success = true }); };
            Post["queue/{qid}/requeueModified"] =
                _ => { _commandSender.Send(new RequeueMessageCommand(Request.Form.messageId, To.String((object)_.qid).UnescapePathName())
                {
                    NewBody = Request.Form.body
                }); return(new { success = true }); };
            Post["topic/{tid}/{sid}/remove"] =
                _ => { _commandSender.Send(new RemoveMessageCommand(Request.Form.messageId, To.String((object)_.tid), To.String((object)_.sid).UnescapePathName())); return(new { success = true }); };
            Post["topic/{tid}/{sid}/dead/{mid}"] =
                _ => { _commandSender.Send(new DeadLetterMessageCommand(To.String((object)_.mid), To.String((object)_.tid), To.String((object)_.sid).UnescapePathName())); return(new { success = true }); };
            Post["topic/{tid}/{sid}/dead"] =
                _ =>
            {
                _commandSender.Send(new DeadLetterAllMessagesCommand(To.String((object)_.tid), To.String((object)_.sid).UnescapePathName()));
                return(_modelCreator.Build <Subscription, SubscriptionCriteria>(new SubscriptionCriteria(To.String((object)_.tid), To.String((object)_.sid).UnescapePathName(), true)));
            };
            Post["topic/{tid}/{sid}/requeue"] =
                _ => { _commandSender.Send(new RequeueMessageCommand(Request.Form.messageId, To.String(_.tid), To.String((object)_.sid).UnescapePathName())); return(new { success = true }); };
            Post["topic/{tid}/{sid}/requeueModified"] =
                _ => { _commandSender.Send(new RequeueMessageCommand(Request.Form.messageId, To.String(_.tid), To.String((object)_.sid).UnescapePathName())
                {
                    NewBody = Request.Form.body
                }); return(new { success = true }); };

            Post["queue/{qid}"] =
                _ => { _commandSender.Send(new SendMessageCommand(To.String((object)_.qid).UnescapePathName(), this.Bind <Message>())); return(new { success = true }); };
            Post["topic/{tid}"] =
                _ => { _commandSender.Send(new PublishMessageCommand(To.String((object)_.tid).UnescapePathName(), this.Bind <Message>())); return(new { success = true }); };
        }
示例#6
0
        public BusManagerModule(IRequeueAndRemove requeueAndRemove, IModelCreator modelCreator, ICommandSender commandSender)
            : base("/api/v1/busmanager")
        {
            _requeueAndRemove = requeueAndRemove;
            _modelCreator = modelCreator;
            _commandSender = commandSender;

            Get["/"] =
                _ => _modelCreator.Build<Overview>();
            Post["/deleteall"] =
                _ => {
                    _commandSender.Send(new DeleteAllBusEntititesCommand());
                    return new { success = true };
                };
            Get["/topic/{tid}"] =
                _ => _modelCreator.Build<Topic, TopicCriteria>(new TopicCriteria(To.String((object)_.tid)));
            Get["/queue/{qid}"] =
                _ => _modelCreator.Build<Queue, QueueCriteria>(new QueueCriteria(To.String((object)_.qid)));
            Get["/topic/{tid}/{sid}"] =
                _ => _modelCreator.Build<Subscription, SubscriptionCriteria>(new SubscriptionCriteria(To.String((object)_.tid), To.String((object)_.sid), true));
            Get["queue/{qid}/messages/{count}"] =
                _ => _modelCreator.Build<MessageView, FindQueuedMessages>(new FindQueuedMessages(To.String((object)_.qid).UnescapePathName(), To.Int(_.count)));
            Get["topic/{tid}/{sid}/messages/{count}"] =
                _ => _modelCreator.Build<MessageView, FindSubscriptionMessages>(new FindSubscriptionMessages(To.String((object)_.tid), To.String((object)_.sid).UnescapePathName(), To.Int(_.count)));
            Post["/queue/{qid}/requeue/all"] = _ =>
            {
                var qid = To.String((object)_.qid).UnescapePathName();
                _requeueAndRemove.RequeueAll(qid);
                return _modelCreator.Build<Queue, QueueCriteria>(new QueueCriteria(qid.RemoveDeadLetterPath(), true));
            };
            Post["/topic/{tid}/{sid}/requeue/all"] = _ =>
            {
                var tid = To.String((object)_.tid);
                var sid = To.String((object)_.sid).UnescapePathName();
                _requeueAndRemove.RequeueAll(tid, sid);
                return _modelCreator.Build<Subscription, SubscriptionCriteria>(new SubscriptionCriteria(tid, sid.RemoveDeadLetterPath(), true));
            };
            Post["/queue/{qid}/remove/all"] = _ =>
            {
                var qid = To.String((object)_.qid).UnescapePathName();
                _requeueAndRemove.RemoveAll(qid);
                return _modelCreator.Build<Queue, QueueCriteria>(new QueueCriteria(qid.RemoveDeadLetterPath(), true));
            };
            Post["/topic/{tid}/{sid}/remove/all"] = _ =>
            {
                var tid = To.String((object)_.tid);
                var sid = To.String((object)_.sid).UnescapePathName();
                _requeueAndRemove.RemoveAll(tid, sid);
                return _modelCreator.Build<Subscription, SubscriptionCriteria>(new SubscriptionCriteria(tid, sid.RemoveDeadLetterPath(), true));
            };
            Post["queue/{qid}/delete"] =
                _ => {
                    _commandSender.Send(new DeleteQueueCommand(To.String((object)_.qid).UnescapePathName().RemoveDeadLetterPath()));
                    _commandSender.Send(new RefreshCachedOverviewCommand());
                    return new { success = true };
                };
            Post["topic/{tid}/delete"] =
                _ => {
                    _commandSender.Send(new DeleteTopicCommand(To.String((object)_.tid).UnescapePathName()));
                    _commandSender.Send(new RefreshCachedOverviewCommand());
                    return new { success = true };
                };
            Post["topic/{tid}/{sid}/delete"] =
                _ => {
                    _commandSender.Send(new DeleteSubscriptionCommand(To.String((object)_.tid).UnescapePathName(), To.String((object)_.sid).UnescapePathName().RemoveDeadLetterPath()));
                    _commandSender.Send(new RefreshCachedOverviewCommand());
                    return new { success = true };
                };
            Post["queue/{qid}/remove"] =
                _ => { _commandSender.Send(new RemoveMessageCommand(Request.Form.messageId, To.String((object)_.qid).UnescapePathName())); return new { success = true }; };
            Post["queue/{qid}/dead/{mid}"] =
                _ => { _commandSender.Send(new DeadLetterMessageCommand(To.String((object)_.mid), To.String((object)_.qid).UnescapePathName())); return new { success = true }; };
            Post["queue/{qid}/dead"] =
                _ =>
                {
                    _commandSender.Send(new DeadLetterAllMessagesCommand(To.String((object)_.qid).UnescapePathName()));
                    return _modelCreator.Build<Queue, QueueCriteria>(new QueueCriteria(To.String((object)_.qid).RemoveDeadLetterPath(), true));
                };
            Post["queue/{qid}/requeue"] =
                _ => { _commandSender.Send(new RequeueMessageCommand(Request.Form.messageId, To.String((object)_.qid).UnescapePathName())); return new { success = true }; };
            Post["queue/{qid}/requeueModified"] =
                _ => { _commandSender.Send(new RequeueMessageCommand(Request.Form.messageId, To.String((object)_.qid).UnescapePathName()) { NewBody = Request.Form.body}); return new { success = true }; };
            Post["topic/{tid}/{sid}/remove"] =
                _ => { _commandSender.Send(new RemoveMessageCommand(Request.Form.messageId, To.String((object)_.tid), To.String((object)_.sid).UnescapePathName())); return new { success = true }; };
            Post["topic/{tid}/{sid}/dead/{mid}"] =
                _ => { _commandSender.Send(new DeadLetterMessageCommand(To.String((object)_.mid), To.String((object)_.tid), To.String((object)_.sid).UnescapePathName())); return new { success = true }; };
            Post["topic/{tid}/{sid}/dead"] =
                _ =>
                {
                    _commandSender.Send(new DeadLetterAllMessagesCommand(To.String((object)_.tid), To.String((object)_.sid).UnescapePathName()));
                    return _modelCreator.Build<Subscription, SubscriptionCriteria>(new SubscriptionCriteria(To.String((object)_.tid), To.String((object)_.sid).UnescapePathName(), true));
                };
            Post["topic/{tid}/{sid}/requeue"] =
                _ => { _commandSender.Send(new RequeueMessageCommand(Request.Form.messageId,To.String( _.tid), To.String((object)_.sid).UnescapePathName())); return new { success = true }; };
            Post["topic/{tid}/{sid}/requeueModified"] =
                _ => { _commandSender.Send(new RequeueMessageCommand(Request.Form.messageId, To.String(_.tid), To.String((object)_.sid).UnescapePathName()) { NewBody = Request.Form.body }); return new { success = true }; };

            Post["queue/{qid}"] =
                _ => { _commandSender.Send(new SendMessageCommand(To.String((object)_.qid).UnescapePathName(), this.Bind<Message>())); return new { success = true }; };
            Post["topic/{tid}"] =
                _ => { _commandSender.Send(new PublishMessageCommand(To.String((object)_.tid).UnescapePathName(), this.Bind<Message>())); return new { success = true }; };
        }