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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#![doc(html_favicon_url = "https://salvo.rs/favicon-32x32.png")]
#![doc(html_logo_url = "https://salvo.rs/images/logo.svg")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![deny(private_in_public, unreachable_pub)]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
#[macro_use]
mod cfg;
pub use salvo_core as core;
#[doc(no_inline)]
pub use salvo_core::*;
cfg_feature! {
#![any(
feature = "affix",
feature = "extra",
feature = "basic-auth",
feature = "caching-headers",
feature = "compression",
feature = "cors",
feature = "csrf",
feature = "force-https",
feature = "jwt-auth",
feature = "logging",
feature = "proxy",
feature = "serve-static",
feature = "session",
feature = "size-limiter",
feature = "sse",
feature = "trailing-slash",
feature = "timeout",
feature = "ws"
)]
#[doc(no_inline)]
pub use salvo_extra as extra;
}
pub mod prelude {
pub use salvo_core::prelude::*;
cfg_feature! {
#![feature ="affix"]
pub use salvo_extra::affix;
}
cfg_feature! {
#![feature ="basic-auth"]
pub use salvo_extra::basic_auth::{BasicAuth, BasicAuthDepotExt, BasicAuthValidator};
}
cfg_feature! {
#![feature ="caching-headers"]
pub use salvo_extra::caching_headers::CachingHeaders;
}
cfg_feature! {
#![feature ="compression"]
pub use salvo_extra::compression::{Compression, CompressionAlgo};
}
cfg_feature! {
#![feature ="cors"]
pub use salvo_extra::cors::Cors;
}
cfg_feature! {
#![feature ="csrf"]
pub use salvo_extra::csrf::{CsrfDepotExt, Csrf};
}
cfg_feature! {
#![feature ="force-https"]
pub use salvo_extra::force_https::ForceHttps;
}
cfg_feature! {
#![feature ="jwt-auth"]
pub use salvo_extra::jwt_auth::{JwtAuthDepotExt, JwtAuth};
}
cfg_feature! {
#![feature ="logging"]
pub use salvo_extra::logging::Logger;
}
cfg_feature! {
#![feature ="proxy"]
pub use salvo_extra::proxy::Proxy;
}
cfg_feature! {
#![feature ="serve-static"]
pub use salvo_extra::serve_static::{StaticDir, StaticFile, static_embed, render_embedded_file, EmbeddedFileExt, StaticEmbed};
}
cfg_feature! {
#![feature ="session"]
pub use salvo_extra::session::{Session, SessionDepotExt, SessionHandler, SessionStore, MemoryStore, CookieStore};
}
cfg_feature! {
#![feature ="size-limiter"]
pub use salvo_extra::size_limiter::max_size;
}
cfg_feature! {
#![feature ="sse"]
pub use salvo_extra::sse::{SseEvent, SseKeepAlive};
}
cfg_feature! {
#![feature ="trailing-slash"]
pub use salvo_extra::trailing_slash::{self, TrailingSlash, TrailingSlashAction};
}
cfg_feature! {
#![feature ="timeout"]
pub use salvo_extra::timeout::Timeout;
}
cfg_feature! {
#![feature ="ws"]
pub use salvo_extra::ws::WebSocketUpgrade;
}
}