Normalize IRIs before doing anything else with them
Also URL-encode paths before requesting them
|2 weeks ago|
|LICENSE.md||1 month ago|
|README.md||2 months ago|
|client.lisp||2 weeks ago|
|gemini-client.asd||2 weeks ago|
|package.lisp||2 weeks ago|
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.
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"
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.