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
mod backend;
21
/// Command-line interface for the server.
22
#[cfg(feature = "cli")]
23
pub mod cli;
24
mod config;
25
mod error;
26
pub(crate) mod hosted;
27
mod server;
28

            
29
#[cfg(feature = "acme")]
30
pub use config::{
31
    AcmeConfiguration, LETS_ENCRYPT_PRODUCTION_DIRECTORY, LETS_ENCRYPT_STAGING_DIRECTORY,
32
};
33

            
34
pub use self::{
35
    backend::{
36
        Backend, BackendError, ConnectionHandling, CustomApiDispatcher, NoBackend, NoDispatcher,
37
    },
38
    config::{DefaultPermissions, ServerConfiguration},
39
    error::Error,
40
    server::{
41
        ApplicationProtocols, ConnectedClient, CustomServer, HttpService, LockedClientDataGuard,
42
        Peer, Server, ServerDatabase, ServerSubscriber, StandardTcpProtocols, TcpService,
43
        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;