A very basic Gemini client library for Common Lisp.
- Common Lisp 100%
| roswell | ||
| .gitignore | ||
| client.lisp | ||
| gemini-client.asd | ||
| LICENSE.md | ||
| package.lisp | ||
| README.md | ||
CL-GEMINI-CLIENT
This is a very basic Gemini client library for Common Lisp. The interface is basically similar to that of the Drakma HTTP library. This isn't a complete client; it includes basically only the networking routines you would build an actual client around, and is intended for use in actual clients and scripts such as feed aggregators.
Usage
CL-USER> (defparameter *my-response* (gemini-client:gemini-request
"gemini://medusae.space"))
*MY-RESPONSE*
CL-USER> (gemini-client:response-status *my-response*)
"20"
CL-USER> (gemini-client:response-meta *my-response*)
"text/gemini"
By default, gemini-request reads the whole response into either a
string or a vector of bytes, depending on whether the content-type is
text or not. You can pass the keyword argument :want-stream to get a
binary stream, instead. Redirects will be automatically followed, with a
default limit of 5 redirects. You can pass a client certificate in the
:client-certificate keyword argument.