💾 Archived View for rawtext.club › ~sloum › geminilist › 004870.gmi captured on 2021-11-30 at 19:37:34. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

<-- back to the mailing list

[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 expandbut instead of looking for executable scripts [2], it uses Lua's modulesystem. These modules [3] used to return the data as Space-Age, but Iswitched 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.