[package] name = "saphir" version = "3.1.1" edition = "2021" authors = ["Richer Archambault "] description = "Fully async-await http server framework" documentation = "https://docs.rs/saphir" homepage = "https://github.com/richerarc/saphir" repository = "https://github.com/richerarc/saphir" readme = "../README.md" keywords = ["hyper", "http", "server", "web", "async"] license = "MIT" resolver = "2" [[example]] name = "basic" [[example]] name = "macro" required-features = ["json", "file", "multipart", "form"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [features] default = ["macro", "http1"] full = ["macro", "json", "form", "https", "multipart", "operation", "post-redirect", "file", "http1", "http2"] post-redirect = ["redirect", "json"] redirect = ["mime", "form"] https = ["base64", "rustls", "tokio-rustls", "rustls-pemfile"] json = ["serde", "serde_json"] form = ["serde", "serde_urlencoded"] macro = ["saphir_macro"] multipart = ["mime", "multer"] file = ["mime", "mime_guess", "percent-encoding", "time", "flate2", "brotli", "tokio/fs"] operation = ["serde", "uuid"] http1 = ["hyper/http1"] http2 = ["hyper/http2"] validate-requests = ["validator", "saphir_macro/validate-requests"] tracing-instrument = ["tracing", "saphir_macro/tracing-instrument"] [dependencies] async-stream = "0.3" log = "0.4" hyper = { version = "0.14", features = ["stream", "server"] } tokio = { version = "1", features = ["rt-multi-thread", "net", "sync", "time", "parking_lot"] } futures = "0.3" futures-util = "0.3" cookie = "0.17" http = "0.2" http-body = "0.4" regex = "1.5.5" thiserror = "1.0" uuid = { version = "1", features = ["serde", "v4"], optional = true } rustls = { version = "0.21", optional = true } rustls-pemfile = { version = "1.0", optional = true } tracing = { version = "0.1", optional = true, features = ["log"]} tokio-rustls = { version = "0.24", optional = true } base64 = { version = "0.21", optional = true } serde = { version = "1.0", optional = true } serde_json = { version = "1.0", optional = true } serde_urlencoded = { version = "0.7", optional = true } saphir_macro = { path = "../saphir_macro", version = "2.2.0", optional = true } mime = { version = "0.3", optional = true } multer = { version = "2.0", optional = true } mime_guess = { version = "2.0", optional = true } percent-encoding = { version = "2.1", optional = true } time = { version = "0.3", optional = true, features = ["std", "serde-human-readable", "macros"] } flate2 = { version = "1.0", optional = true } brotli = { version = "3.3", optional = true } validator = { version = "0.16", optional = true, features = ["derive"] } [dev-dependencies] env_logger = "0.10" serde = "1.0" serde_derive = "1.0" mime = "0.3" tokio = { version = "1", features = ["rt-multi-thread", "net", "sync", "time", "parking_lot", "macros"] } #macros only in dev deps