#gemini-protocols #specification #status-code #header #url #eye #illegal #towards

gemini

Small set of types useful for working with the Gemini protocol

4 releases

0.0.5 Jul 15, 2022
0.0.4 Apr 16, 2021
0.0.3 Jan 15, 2021
0.0.2 Jan 14, 2021
0.0.1 Jun 7, 2020

#4 in #eye


Used in caracal

GPL-3.0-only

54KB
1K SLoC

A general purpose library of types for working with the Gemini protocol

Represented are Gemini requests, responses, headers, and status codes. Requests are currently just a small layer of functionality over top of a Url from the aptly named url crate. All types are implemented with an eye towards implementing the Gemini specification faithfully and making illegal or invalid states unrepresentable.


gemini for rust

this library implements a small collection of types useful for writing programs that interact with the Gemini protocol.

planned features

  • a gemtext module for representing text/gemini content
  • parsers using nom
  • streaming response bodies
  • no_std support
  • improve doc comments with links n such
  • lossless gemtext representation

i also need to set up CI/CD... not sure the best way to approach this with pijul hosting.

i would like to thank Michael Gattozzi (@mgattozzi) for donating the gemini crate name for usage by this library. Michael's gemini project, which can be found here, is a handy attribute proc- macro that lets you write code with either a sync or async API with no additional maintenance overhead. thank you, Michael! <3

Dependencies

~2.1–3.5MB
~59K SLoC