Release: serverino - please destroy it.

Andrea Fontana nospam at example.com
Sun May 8 21:32:42 UTC 2022


Hello!

I've just released serverino. It's a small & ready-to-go 
http/https server.

Every request is processed by a worker running in an isolated 
process, no fibers/threads, sorry (or thanks?)

I did some tests and the performance sounds good: on a local 
machine it can handle more than 100_000 reqs/sec for a simple 
page containing just "hello world!".Of course that's not a good 
benchmark, if you can help me with other benchmarks it would be 
much appreciated (a big thanks to Tomáš Chaloupka who did some 
tests!)

I'm trying to keep it simple and easy to compile. It has no 
external deps in its base configuration and only one external 
library (libretls) is required if you need/want to enable https.

For your first project you need just three lines of code as you 
can see here:
https://github.com/trikko/serverino/

I didn't implement a traditional router for uris as probably many 
of you expected. I use a different approach. Check out this 
example: 
https://github.com/trikko/serverino/#defining-more-than-one-endpoint

This allows you to do some interesting things giving higher or 
lower priority to each endpoint (for example you can force 
something to always running first like redirect, logging, checks 
on login...)

Instead of using a lot of different UDAs to set routing rules, 
you can simply write them in your endpoint's body and exit from 
it to pass to the next endpoint.

Please help me testing it, I'm looking forward to receiving your 
shiny new issues on github.

Dub package: https://code.dlang.org/packages/serverino

Andrea





More information about the Digitalmars-d-announce mailing list