static async Task Main(string[] args) { Console.WriteLine(Environment.CurrentDirectory); var jsonData = ReadJson("scriptPaths.json"); await jsonData.ToAsync().MatchAsync( Right: async json => { var keyScriptJsonMap = new KeyScriptJsonMap(json); var responseMaker = new ResponseMaker(keyScriptJsonMap); while (true) { Console.WriteLine("Enter rquest topic. If you want to quit this app, press 'quit'."); Console.Write("Enter here : "); var input = Console.ReadLine(); if (input == "quit") { break; } var ret = await responseMaker.MakeResponseAsync(input, MakeRequest()); ret.Match( Right: x => { Console.WriteLine(x.requestProto.ToJsonString()); Console.WriteLine(x.responseProto.ToJsonString()); }, Left: x => { Console.WriteLine(x); }); } }, LeftAsync: ex => { Console.WriteLine(ex); Console.ReadKey(); return(Task.CompletedTask); }); }
public void Start(string ip, UInt16 port, uint readBufferSize, uint timeout, X509Certificate2 certificate, HttpRequestProcessor httpRequestHandler, ResponseMaker internalServerError, LogManager logger) { if (ConnectionAcceptor == null) { ConnectionAcceptor = new TcpListener(IPAddress.Parse(ip), port); } if (Sessions == null) { Sessions = new ConcurrentDictionary <ulong, Session>(); } this.ReadBufferSize = readBufferSize; this.Timeout = timeout; this.HttpRequestHandler = httpRequestHandler; this.GetInternalServerError = internalServerError; this.Certificate = certificate; this.Logger = logger; ConnectionAcceptor.Start(); ConnectionAcceptor.BeginAcceptTcpClient(new AsyncCallback(OnAccept), this.ConnectionAcceptor); }
public void Start(string ip, UInt16 port, uint readBufferSize, uint timeout, HttpRequestProcessor httpRequestHandler, ResponseMaker internalServerError, LogManager logger) { this.Start(ip, port, readBufferSize, timeout, null, httpRequestHandler, internalServerError, logger); }