Today in #iocaine development, I'm gonna continue working on nam-shub-of-enki, may patch a few helpers into iocaine in the process, and hopefully, by the end of the day, I'll get to write some docs.

While here, on this first toot of the day in the daily devlog thread: I plan to release iocaine 2.5.0 in a few days, over the weekend.

Small improvements this time, mostly request handler related:

  • More flexible logging (esp. for Roto, Lua/Fennel have built-in print, so things were easier over there)
  • Headers, query params, and cookies can all be serialized into a map, for logging & research purposes.
  • It's possible to extract captures from regexes now.
  • If you want to match multiple regexes with a single scan, that's also doable now (but can't extract captures from that, only match).

I will likely also add helpers to deal with User-Agent Client Hints headers, present in Chrome, Edge, and - as far as I can tell - most derivatives.

I'm happily hacking away, and Paradise Lost's Silent in Heart comes up in the playlist, and fuuuuuuuuuuuuuuuck, this is so on point.

And all the time I've wasted searching, you pretend
You never realised how close we're to the end

I'm here like sunshine
I'm here just sometimes

I never dreamed of life so jaded through contempt
As all deception ceases progress through resent

I'm here like sunshine
I'm here just sometimes

Let all the hatred go, silent in heart...

Had to double check the year it came out.

I'm also going to add a just benchmark recipe, which fires up iocaine with nam-shub-of-enki, and runs bombardier against it.

Due to the user agent used, this will result in going through a whole lot of checks before finishing with a 421. There will be no garbage generation performed (that's outside of the scope of nam-shub-of-enki) - I just want to see the speed of the ruleset.

1+ more replies (not shown)