[package] name = "kvarn-extensions" version = "0.6.2" authors = ["Icelk "] edition = "2021" description = "Extensions for the Kvarn web server. Features HTTP/2 automatic push and a templating engine." repository = "https://github.com/Icelk/kvarn/tree/main/kvarn_extensions/" license = "Apache-2.0" keywords = ["http-push", "template", "php"] categories = ["template-engine"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] futures-util = "0.3" kvarn = { path = "../", default-features = false, version = "0.6.2" } kvarn-fastcgi-client = { version = "0.9", optional = true } tokio = { version = "1.24", features = ["fs"] } # tokio-uring = { git = "https://github.com/Icelk/tokio-uring", branch = "recvmsg-msg_control", features = ["bytes"], optional = true } tokio-uring = { version = "0.4.0-alpha1", package = "kvarn-tokio-uring", features = ["bytes"], optional = true } async_chunked_transfer = "1.4" percent-encoding = { version = "2", optional = true } memchr = "2" url-crawl = { version = "0.2", path = "../url-crawl", optional = true } small-acme = { version = "0.2.2", optional = true } x509-parser = { version = "0.16", optional = true } rustls = { version = "0.23.8", optional = true, default-features = false, features = ["ring"] } # serialize credentials ron = { version = "0.8", optional = true } rcgen = { version = "0.13", optional = true } rustls-pemfile = { version = "2", optional = true } rand = { version = "0.8", optional = true } dashmap = { version = "6", optional = true } [features] default = ["php", "templates", "push", "view-counter"] connection = ["tokio/net", "tokio/io-util"] php = ["kvarn-fastcgi-client", "connection", "percent-encoding"] templates = [] push = ["url-crawl", "kvarn/http2"] reverse-proxy = ["connection", "url-crawl"] # Automatic HTTPS certificates certificate = ["small-acme", "x509-parser", "rustls", "rustls-pemfile", "ron", "rcgen", "kvarn/https", "rand"] view-counter = ["dashmap"] uring = ["kvarn/uring", "tokio-uring"] [dev-dependencies] tokio = { version = "1.24", features = ["net", "io-util", "macros"] } kvarn_testing = { path = "../testing", version = "0.6" } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]