Windmark

Windmark is an elegant and highly performant, async Gemini server framework for
the modern age!
Usage
Add Windmark as a dependency
```toml
Cargo.toml
[dependencies]
windmark = "0.1.9"
tokio = { version = "0.2.4", features = ["full"] }
If you would like to use the built-in logger (recommended)
windmark = { version = "0.1.9", features = ["logger"] }
If you would like to use the built-in MIME dedection when Success
-ing a file
(recommended)
windmark = { version = "0.1.9", features = ["auto-deduce-mime"] }
```
Implement a Windmark server
```rust
// src/main.rs
use windmark::Response;
[windmark::main]
fn main() -> Result<(), Box> {
windmark::Router::new()
.setprivatekeyfile("windmarkprivate.pem")
.setcertificatechainfile("windmarkpublic.pem")
.mount("/", Box::new(|| Response::Success("Hello, World!".into())))
.seterrorhandler(Box::new(|| {
Response::PermanentFailure("This route does not exist!".into())
}))
.run()
.await
}
```
Examples
Examples can be found within the
examples/
directory.
Modules
Modules are reusable extensions which can be procedurally mounted onto Windmark
routers.
Add yours!
Capsules using Windmark
Add yours!
License
This project is licensed with the
GNU General Public License v3.0.