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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// FIXME: remove this feature gate as soon as the rustc version used in docs.rs is updated
#![cfg_attr(tsukuyomi_inject_extern_prelude, feature(extern_prelude))]

//! Tsukuyomi is an asynchronous Web framework for Rust.

#![doc(html_root_url = "https://docs.rs/tsukuyomi/0.3.1")]
#![warn(
    missing_docs,
    missing_debug_implementations,
    nonstandard_style,
    rust_2018_idioms,
    rust_2018_compatibility,
    unused
)]
#![cfg_attr(tsukuyomi_deny_warnings, deny(warnings))]
#![cfg_attr(tsukuyomi_deny_warnings, doc(test(attr(deny(warnings)))))]
#![cfg_attr(feature = "cargo-clippy", warn(pedantic))]

pub extern crate tsukuyomi_server as server;

extern crate bytes;
extern crate cookie;
extern crate either;
extern crate failure;
extern crate filetime;
extern crate futures;
extern crate http;
#[cfg_attr(test, macro_use)]
extern crate indexmap;
extern crate log;
extern crate mime;
extern crate serde;
extern crate serde_json;
extern crate time;
extern crate tower_service;
extern crate walkdir;

#[cfg(test)]
extern crate matches;

#[cfg(feature = "websocket")]
extern crate base64;
#[cfg(feature = "websocket")]
extern crate sha1;
#[cfg(feature = "websocket")]
extern crate tokio_tungstenite;
#[cfg(feature = "websocket")]
extern crate tungstenite;

#[cfg(feature = "session-redis")]
extern crate redis;
#[cfg(feature = "session-redis")]
extern crate uuid;

pub mod app;
pub mod contrib;
pub mod error;
pub mod handler;
pub mod input;
pub mod modifier;
pub mod output;
pub(crate) mod recognizer;
mod util;