Skip to main content

gotify/
lib.rs

1// The README is this crate's entire rustdoc landing page — not just a
2// GitHub-facing summary. Every code block in it is a real doctest run by
3// `cargo test --doc`, and there is deliberately no separate, shorter `//!`
4// summary here to drift out of sync with it: one doc, one source of truth.
5#![doc = include_str!("../README.md")]
6#![deny(missing_docs)]
7#![forbid(unsafe_code)]
8// A library crate should never panic on data it doesn't control. Scoped to
9// non-test builds only — `.unwrap()`/`.expect()` in test code is normal,
10// idiomatic Rust, not a smell. This crate has no bundled data file to parse
11// at build time (unlike `unifi`), so unlike that crate this currently has
12// zero `#[allow]` exceptions.
13#![cfg_attr(
14    not(test),
15    deny(clippy::unwrap_used, clippy::expect_used, clippy::panic)
16)]
17
18/// [`GotifyError`] and the crate's [`Result`] alias.
19pub mod error;
20/// The one place HTTP requests are made and errors mapped.
21pub mod http;
22
23mod client;
24mod config;
25mod service;
26
27pub use client::GotifyClient;
28pub use config::{GotifyConfig, DEFAULT_REQUEST_TIMEOUT};
29pub use error::{GotifyError, Result};
30pub use service::GotifyService;