Windmark

crates.io docs.rs github.com

Windmark is an elegant and highly performant, async Gemini server framework.

Usage

Add Windmark as a dependency

```toml

Cargo.toml

[dependencies] windmark = "0.1.7" tokio = { version = "0.2.4", features = ["full"] }

If you would like to use the built-in logger (recommended)

windmark = { version = "0.1.7", features = ["logger"] }

```

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.

License

This project is licensed with the GNU General Public License v3.0.