1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#![deny(
    missing_debug_implementations,
    missing_docs,
    missing_copy_implementations
)]
#![forbid(unsafe_code)]

//! 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 mod gemtext;
pub mod header;
pub mod request;
pub mod response;
pub mod status;

pub use gemtext::{Builder, Doc, Level};
pub use header::{Header, MetaKind};
pub use request::{InvalidRequest, Request, Url};
pub use response::Response;
pub use status::{Category, Code, InvalidStatusCode, Status};