[users] Simple Gemini server for testing in the current directory?
Sean Conner
sean at conman.org
Wed Jan 20 21:09:45 GMT 2021
It was thus said that the Great Gary Johnson once stated:
>
> Uniquely among Gemini servers, Space Age provides a form of server-side
> application programming modeled after Clojure's de facto web programming
> standard, Ring, but further simplified for Geminispace.
>
> Essentially, dynamic routes can be programmed as simple functions that
> take a request map and return a response map. All you have to do is add
> a *.clj file anywhere under your document root (or under a user's
> /home/username/public_gemini directory), make it executable, and define
> a main function within it that will be called whenever that page is
> requested by a Gemini client.
I wouldn't say it's unique, just rare. GLV-1.12556 [1] is also easy to expand
but instead of looking for executable scripts [2], it uses Lua's module
system. These modules [3] used to return the data as Space-Age, but I
switched to a streaming model to save memory usage [4].
-spc
[1] https://github.com/spc476/GLV-1.12556
[2] With GLV-1.12556, executable scripts are treated as CGI scripts.
[3] And it's *all* modules---even serving up files from a directory is
done using this mechanism.
[4] Some resources served up by my server can be quite large.
More information about the Gemini
mailing list