private static async Task Interpretate(HttpListenerContext context) { using (var sr = new StreamReader(context.Request.InputStream, Encoding.GetEncoding(1251))) { var program = sr.ReadToEnd(); if (program.StartsWith("aor=")) { program = HttpUtility.UrlDecode(program.Substring(4)); } Log.Info(program); bool[,] matrix; var data = Encoding.UTF8.GetBytes(GeneratePage(Interpretator2.Iterpretate(program, out matrix), matrix, program)); await context.Response.OutputStream.WriteAsync(data, 0, data.Length); } }
private static string GeneratePage(InterpretatorEndState state, bool[,] matrix, string program) { var page = @" <!DOCTYPE html> <html lang=""en""> <head> <meta charset=""utf-8""/> <title style=""line-height: 0px;"">◃◝◜◃◊▱◅▹▭ ◊▱◚◓◊□ ◓▼▹▤▦◜▯◊◁◌◛</title> </head> <body> <h1>◃◝◜◃◊▱◅▹▭ ◊▱◚◓◊□ ◓▼▹▤▦◜▯◊◁◌◛</h1> <div>◔▲▴◆▼▹◃○ ▴◌◛ ◓▼▹▤▦◜▯◊◁◌◛</div> {4} <form method=""POST"" style=""margin-top: 12px;""> <div> <textarea id=""input"" name=""aor"" rows=""10"" cols=""80"">{3}</textarea> </div> <button id=""e2m"" type=""submit"" style=""margin-top: 12px;"">▱○○●◈ ▥▻◒◎</button> <form> <div> {0} </div> <pre> {1} </pre> <div> {2} </div> </body> </html>"; return(string.Format(page, ConvertInterpretatorEndState(state), ConvertMatrixToString(matrix), GetAnswer(matrix), HttpUtility.HtmlEncode(program), Interpretator2.GetRulesHtml())); }