Expand description

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.


pub use gemtext::Builder;
pub use gemtext::Doc;
pub use gemtext::Level;
pub use header::Header;
pub use header::MetaKind;
pub use request::AnyRequest;
pub use request::GeminiRequest;
pub use request::InvalidRequest;
pub use request::Request;
pub use response::Response;
pub use status::Category;
pub use status::Code;
pub use status::InvalidStatusCode;
pub use status::Status;


Gemtext documents

Gemini Response Headers

Helper module with parsers for COMPLETE streams of bytes. If you want streaming/resumable parsers, use the parser functions in each submodule directly. Gemtext parsers only work with complete input.

Gemini Requests

Gemini Responses

Gemini Status Codes


A parsed URL record.