Expand description
An extensible and efficient forward-thinking web server for the future.
Kvarn is a rethought web server tailored for the current needs from web application developers.
It handles several things for you, including
- Content-Type
- Compression of body
- Correct and performant HTTP/1 and HTTP/2
- Common API across HTTP/1 and HTTP/2
- Easy integration with HTTP/2 push promises
- Five types of extensions, all backed with intuitive macros
- Optional encryption with
rustls
- Several checks for illegal requests
cache-control
andkvarn-cache-control
header limits server cache lifetimes
§Getting started
To get started, configure a RunConfig
. See the example at RunConfig::execute
on how to get a simple web server running.
A battle-tested reference implementation can be found at GitHub. It powers my two websites with minimal resource requirements.
§Future plans
See the README @ GitHub and kvarn.org.
Re-exports§
pub use error::default as default_error;
pub use error::default_response as default_error_response;
pub use extensions::Extensions;
pub use extensions::Id;
pub use read::file as read_file;
pub use read::file_cached as read_file_cached;
Modules§
- Abstractions for the application layer, providing a common interface for all HTTP versions supported.
- Compress and cache.
- CORS implementation for Kvarn.
- CSP implementation for Kvarn.
- ctl
han