Ejemplo n.º 1
0
        public override void Command(MenuItem menuItem, string UserInput)
        {
            ListenerInteractMenuItem listenerInteractMenuItem = (ListenerInteractMenuItem)menuItem;

            // TODO: error if http lsitener already on this port
            if (listenerInteractMenuItem.listener.Status == ListenerStatus.Active)
            {
                EliteConsole.PrintFormattedErrorLine("Listener: " + listenerInteractMenuItem.listener.Name + " is already active.");
                menuItem.PrintInvalidOptionError(UserInput);
            }
            else
            {
                switch (listenerInteractMenuItem.listenerType.Name)
                {
                case "HTTP":
                    HttpListener httpListener = this.CovenantClient.ApiListenersHttpByIdGet(listenerInteractMenuItem.listener.Id ?? default);
                    httpListener.Status = ListenerStatus.Active;
                    this.CovenantClient.ApiListenersHttpPut(httpListener);
                    break;
                }
                listenerInteractMenuItem.Refresh();
                // EliteConsole.PrintFormattedHighlightLine("Started Listener: " + listenerInteractMenuItem.listener.Name);
                EventModel eventModel = new EventModel {
                    Message = "Started Listener: " + listenerInteractMenuItem.listener.Name,
                    Level   = EventLevel.Highlight,
                    Context = "*"
                };
                eventModel = this.CovenantClient.ApiEventsPost(eventModel);
                this.EventPrinter.PrintEvent(eventModel);
            }
        }