[package]
edition = "2021"
name = "windmark"
version = "0.9.0"
authors = ["Fuwn <contact@fuwn.me>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An elegant and highly performant async Gemini server framework"
homepage = "https://github.com/gemrest/windmark"
documentation = "https://docs.rs/windmark"
readme = "README.md"
keywords = ["gemini"]
categories = ["web-programming"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/gemrest/windmark"
[package.metadata.docs.rs]
all-features = false
features = ["auto-deduce-mime"]
[features]
async-std = [
"dep:async-std",
"async-std-openssl",
]
auto-deduce-mime = ["tree_magic_mini"]
default = ["tokio"]
tokio = [
"dep:tokio",
"tokio-openssl",
]
[lib]
name = "windmark"
path = "src/lib.rs"
[[example]]
name = "async"
path = "examples/async.rs"
[[example]]
name = "async_stateful_module"
path = "examples/async_stateful_module.rs"
[[example]]
name = "binary"
path = "examples/binary.rs"
[[example]]
name = "callbacks"
path = "examples/callbacks.rs"
[[example]]
name = "certificate"
path = "examples/certificate.rs"
[[example]]
name = "default_logger"
path = "examples/default_logger.rs"
[[example]]
name = "empty"
path = "examples/empty.rs"
[[example]]
name = "error_handler"
path = "examples/error_handler.rs"
[[example]]
name = "fix_path"
path = "examples/fix_path.rs"
[[example]]
name = "input"
path = "examples/input.rs"
[[example]]
name = "mime"
path = "examples/mime.rs"
[[example]]
name = "parameters"
path = "examples/parameters.rs"
[[example]]
name = "partial"
path = "examples/partial.rs"
[[example]]
name = "query"
path = "examples/query.rs"
[[example]]
name = "responses"
path = "examples/responses.rs"
[[example]]
name = "simple_async_std"
path = "examples/simple_async_std.rs"
required-features = ["async-std"]
[[example]]
name = "simple_tokio"
path = "examples/simple_tokio.rs"
[[example]]
name = "stateful_module"
path = "examples/stateful_module.rs"
[[example]]
name = "stateless_module"
path = "examples/stateless_module.rs"
[[example]]
name = "struct_router"
path = "examples/struct_router.rs"
[[test]]
name = "binary_response"
path = "tests/binary_response.rs"
[[test]]
name = "consumer"
path = "tests/consumer.rs"
[[test]]
name = "module"
path = "tests/module.rs"
[[test]]
name = "response"
path = "tests/response.rs"
[[test]]
name = "router_runtime"
path = "tests/router_runtime.rs"
[dependencies.async-std]
version = "1.12.0"
features = ["attributes"]
optional = true
[dependencies.async-std-openssl]
version = "0.6.3"
optional = true
[dependencies.async-trait]
version = "0.1.68"
[dependencies.futures-util]
version = "0.3.31"
[dependencies.language-tags]
version = "0.3.2"
[dependencies.log]
version = "0.4.30"
[dependencies.matchit]
version = "0.7.3"
[dependencies.mime]
version = "0.3.17"
[dependencies.openssl]
version = "0.10.80"
[dependencies.tokio]
version = "1.52.3"
features = [
"rt-multi-thread",
"sync",
"net",
"io-util",
"macros",
"signal",
"time",
]
optional = true
default-features = false
[dependencies.tokio-openssl]
version = "0.6.3"
optional = true
[dependencies.tree_magic_mini]
version = "3.2.2"
optional = true
[dependencies.url]
version = "2.2.2"
[dev-dependencies.percent-encoding]
version = "2.3.2"
[dev-dependencies.pretty_env_logger]
version = "0.5.0"
[dev-dependencies.rossweisse]
version = "0.0.4"