using BeetleX; using BeetleX.Buffers; using System; using System.Collections.Generic; using System.Globalization; using System.Text; namespace PlatformBenchmarks { public partial class HttpHandler { private readonly static AsciiString _fortunesTableStart = "Fortunes"; private readonly static AsciiString _fortunesRowStart = ""; private readonly static AsciiString _fortunesTableEnd = "
idmessage
"; private readonly static AsciiString _fortunesColumn = ""; private readonly static AsciiString _fortunesRowEnd = "
"; public async void fortunes(PipeStream stream, HttpToken token, ISession session) { try { var data = await token.Db.LoadFortunesRows(); stream.Write(_fortunesTableStart.Data, 0, _fortunesTableStart.Length); foreach (var item in data) { stream.Write(_fortunesRowStart.Data, 0, _fortunesRowStart.Length); stream.Write(item.Id.ToString(CultureInfo.InvariantCulture)); stream.Write(_fortunesColumn.Data, 0, _fortunesColumn.Length); stream.Write(System.Web.HttpUtility.HtmlEncode(item.Message)); stream.Write(_fortunesRowEnd.Data, 0, _fortunesRowEnd.Length); } stream.Write(_fortunesTableEnd.Data, 0, _fortunesTableEnd.Length); } catch (Exception e_) { HttpServer.ApiServer.Log(BeetleX.EventArgs.LogType.Error, null, $"fortunes error {e_.Message}@{e_.StackTrace}"); stream.Write(e_.Message); } OnCompleted(stream, session, token); } } }