committing initial code. It was a fun day!

Gemini is very nice and simple <3
This commit is contained in:
Egidijus Lileika
2021-02-06 17:59:11 +02:00
parent b9fc631211
commit 69435b34a5
9 changed files with 392 additions and 1 deletions

39
CuipodExample/Server.cs Normal file
View File

@@ -0,0 +1,39 @@
using Cuipod;
namespace CuipodExample
{
class Server
{
static void Main(string[] args)
{
App app = new App(
"<directory_to_serve>/", // directory to serve
"<dir_with_cert>/certificate.crt", // path to certificate
"<dir_with_cert>/privatekey.key" // path to private Pkcs8 RSA key
);
// Serve files
app.OnRequest("/", response => {
response.RenderFileContent("index.gmi");
});
app.OnRequest("/about/", response => {
response.RenderFileContent("about_me.gmi");
});
// Or dynamically render content
app.OnRequest("/dynamic/content/", response => {
response.RenderPlainTextLine("# woah much content!");
response.RenderPlainTextLine("More utilities to render content will come soon!");
});
// Optional but nice. In case it is specified and client will do a bad route
// request we will respond with Success status and render result from this lambda
app.OnBadRequest(response => {
response.RenderPlainTextLine("# Ohh No!!! Request is bad :(");
});
app.Run();
}
}
}