1
1
#![doc = include_str!(".crate-docs.md")]
2
#![cfg_attr(not(feature = "included-from-omnibus"), doc = include_str!("../server-feature-flags.md"))]
3
#![forbid(unsafe_code)]
4
#![warn(
5
    clippy::cargo,
6
    missing_docs,
7
    // clippy::missing_docs_in_private_items,
8
    clippy::nursery,
9
    clippy::pedantic,
10
    future_incompatible,
11
    rust_2018_idioms,
12
)]
13
#![allow(
14
    clippy::missing_errors_doc, // TODO clippy::missing_errors_doc
15
    clippy::missing_panics_doc, // TODO clippy::missing_panics_doc
16
    clippy::option_if_let_else,
17
    clippy::module_name_repetitions,
18
)]
19

            
20
/// Types for defining API handlers.
21
pub mod api;
22
mod backend;
23
/// Command-line interface for the server.
24
#[cfg(feature = "cli")]
25
pub mod cli;
26
mod config;
27
mod dispatch;
28
mod error;
29
pub(crate) mod hosted;
30
mod server;
31

            
32
#[cfg(feature = "acme")]
33
pub use config::{
34
    AcmeConfiguration, LETS_ENCRYPT_PRODUCTION_DIRECTORY, LETS_ENCRYPT_STAGING_DIRECTORY,
35
};
36

            
37
pub use self::{
38
    backend::{Backend, BackendError, ConnectionHandling, NoBackend},
39
    config::{DefaultPermissions, ServerConfiguration},
40
    error::Error,
41
    server::{
42
        ApplicationProtocols, ConnectedClient, CustomServer, HttpService, LockedClientDataGuard,
43
        Peer, Server, ServerDatabase, StandardTcpProtocols, TcpService, Transport,
44
    },
45
};
46

            
47
#[cfg(test)]
48
mod tests;
49

            
50
#[cfg(any(feature = "test-util", test))]
51
pub mod test_util;
52

            
53
#[cfg(not(feature = "included-from-omnibus"))]
54
pub use bonsaidb_core as core;
55
#[cfg(not(feature = "included-from-omnibus"))]
56
pub use bonsaidb_local as local;
57
pub use fabruic;