[package] name = "athene" version = "2.0.4" edition = "2021" description = "A simple and lightweight rust web framework based on hyper" documentation = "https://docs.rs/athene" repository = "https://gitea.com/rustacean/athene" keywords = ["hyper", "web", "framework", "http", "async"] categories = [ "web-programming::http-server", "web-programming::websocket", "network-programming", "asynchronous", ] license = "Apache-2.0" readme = "../README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["macro", "http1"] macro = ["athene_macro"] http1 = ["hyper/http1"] http2 = ["hyper/http2"] validate = ["validator", "athene_macro/validate"] multipart = ["multimap", "multer", "tempfile"] download = ["percent-encoding"] cookie = ["dep:cookie"] static_file = ["time", "percent-encoding"] cbor = ["ciborium"] msgpack = ["rmp-serde"] websocket = ["tokio-tungstenite"] # https = ["tokio-rustls", "rustls-pemfile"] full = [ "validate", "multipart", "download", "static_file", "websocket", "macro", "http1", "cookie", ] [dependencies] futures = "0.3.28" headers = "0.3.8" regex = "1.8.1" hyper = { version = "1.0.0-rc.4", features = ["server"] } http-body-util = "0.1.0-rc.2" async-trait = "0.1.68" tokio = { version = "1.30.0", features = [ "parking_lot", "io-util", "fs", "net", "rt-multi-thread", ] } serde_json = "1.0.104" serde = { version = "1.0", features = ["derive"] } serde_urlencoded = "0.7.1" thiserror = "1.0.40" mime = "0.3.17" enumflags2 = "0.7.7" mime_guess = "2.0.4" pin-project-lite = "0.2.4" athene_macro = { path = "../athene_macro", version = "0.2.3", optional = true } ciborium = { version = "0.2.1", optional = true } rmp-serde = { version = "1.1.1", optional = true } multimap = { version = "0.9.0", optional = true } multer = { version = "2.1.0", optional = true } tempfile = { version = "3.5.0", optional = true } percent-encoding = { version = "2.2.0", optional = true } validator = { version = "0.16.0", features = ["derive"], optional = true } time = { version = "0.3", features = [ "serde", "macros", "formatting", ], optional = true } tokio-tungstenite = { version = "0.20.0 ", optional = true } cookie = { version = "0.17.0 ", optional = true } # tokio-rustls = { version = "0.24.0", optional = true } # rustls-pemfile = { version = "1.0.2", optional = true } [dev-dependencies] athene = { path = ".", features = ["full"] } tokio = { version = "1", features = ["rt-multi-thread", "macros"] } utoipa = "3.4.4" utoipa-swagger-ui = "3.1.5" tracing-subscriber = { version = "0.3.16", features = ["env-filter"] } tracing = "0.1.37" jsonwebtoken = "8" tera = "1.18" once_cell = "1.17"