[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