public void ProcessResponse(ConsoleCommand command, WebSocketSession session) { _session = session; try { var args = command.CommandText.SplitCommandLine().ToArray(); _commands.Parse(args); } catch(MissingCommandArgumentException e) //An invalid option was passed { var response = Help(); response.PrependMessage(e.Message); session.SendResponseAsync(response.Serialize()); } }
void socketServer_NewMessageReceived(WebSocketSession session, string e) { var command = JsonConvert.DeserializeObject<ConsoleCommand>(e); try { IConsoleResponder r = new ConsoleResponder(SendToAll); r.ProcessResponse(command, session); } catch(Exception ex) { var response = new ConsoleCommandResponse(); response.AppendMessage("Server Error! :("); response.AppendMessage(ex.Message); session.SendResponseAsync(response.Serialize()); } }