| 1234567891011121314151617181920212223242526272829303132333435 | using System;using Ben.Http;using Microsoft.Net.Http.Headers;using Sql = Npgsql.NpgsqlConnection;var connection = Environment.GetEnvironmentVariable("DB_CONNECTION");var (server, app) = (new HttpServer("http://+:8080"), new HttpApp());app.Get("/plaintext", () => "Hello, World!");app.Get("/json", (req, res) => {    res.Headers.ContentLength = 27;    return res.Json(new Note { message = "Hello, World!" });});app.Get("/fortunes", async (req, res) => {    res.Headers[HeaderNames.ContentType] = "text/html; charset=UTF-8";    using Sql db = new(connection);    var model = await db.QueryAsync<(int id, string message)>("SELECT id, message FROM fortune");    model.Add((0, "Additional fortune added at request time."));    model.Sort((x, y) => string.CompareOrdinal(x.message, y.message));    MustacheTemplates.RenderFortunes(model, res.Writer);});app.Get("/db", async (req, res) => {    using Sql db = new(connection);    await res.Json(await db.QueryRowAsync<World, int>(        "SELECT id, randomnumber FROM world WHERE id = @id",        (name: "@id", value: ConcurrentRandom.Next(10000) + 1)));});await server.RunAsync(app);struct Note { public string message { get; set; } }struct World { public int id { get; set; } public int randomnumber { get; set; } }
 |