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); } }
public override void Command(MenuItem menuItem, string UserInput) { ListenerInteractMenuItem listenerInteractMenuItem = (ListenerInteractMenuItem)menuItem; Listener listener = listenerInteractMenuItem.listener; EliteConsoleMenu menu = new EliteConsoleMenu(EliteConsoleMenu.EliteConsoleMenuType.Parameter, listenerInteractMenuItem.listenerType.Name + " Listener: " + listener.Name); switch (listenerInteractMenuItem.listenerType.Name) { case "HTTP": HttpListener httpListener = this.CovenantClient.ApiListenersHttpByIdGet(listener.Id ?? default); HttpProfile httpProfile = this.CovenantClient.ApiListenersByIdProfileGet(httpListener.Id ?? default); menu.Rows.Add(new List <string> { "Name:", httpListener.Name }); menu.Rows.Add(new List <string> { "Status:", httpListener.Status.ToString() }); menu.Rows.Add(new List <string> { "Description:", httpListener.Description }); menu.Rows.Add(new List <string> { "URL:", httpListener.Url }); menu.Rows.Add(new List <string> { " ConnectAddress:", httpListener.ConnectAddress }); menu.Rows.Add(new List <string> { " BindAddress:", httpListener.BindAddress }); menu.Rows.Add(new List <string> { " BindPort:", httpListener.BindPort.ToString() }); menu.Rows.Add(new List <string> { " UseSSL:", (httpListener.UseSSL ?? default) ? "True" : "False" }); menu.Rows.Add(new List <string> { "SSLCertPath:", listenerInteractMenuItem.SSLCertPath }); menu.Rows.Add(new List <string> { "SSLCertPassword:"******"SSLCertHash:", httpListener.SslCertHash }); menu.Rows.Add(new List <string> { "HttpProfile:", httpProfile.Name }); break; }