[package] name = "actix-web" version = "4.0.0-rc.3" authors = [ "Nikolay Kim ", "Rob Ede ", ] description = "Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust" keywords = ["actix", "http", "web", "framework", "async"] categories = [ "network-programming", "asynchronous", "web-programming::http-server", "web-programming::websocket" ] homepage = "https://actix.rs" repository = "https://github.com/actix/actix-web.git" license = "MIT OR Apache-2.0" edition = "2018" [package.metadata.docs.rs] # features that docs.rs will build with features = ["macros", "openssl", "rustls", "compress-brotli", "compress-gzip", "compress-zstd", "cookies", "secure-cookies"] rustdoc-args = ["--cfg", "docsrs"] [lib] name = "actix_web" path = "src/lib.rs" [features] default = ["macros", "compress-brotli", "compress-gzip", "compress-zstd", "cookies"] # Brotli algorithm content-encoding support compress-brotli = ["actix-http/compress-brotli", "__compress"] # Gzip and deflate algorithms content-encoding support compress-gzip = ["actix-http/compress-gzip", "__compress"] # Zstd algorithm content-encoding support compress-zstd = ["actix-http/compress-zstd", "__compress"] # Routing and runtime proc macros macros = [ "actix-macros", "actix-web-codegen", ] # Cookies support cookies = ["cookie"] # Secure & signed cookies secure-cookies = ["cookies", "cookie/secure"] # TLS via OpenSSL openssl = ["actix-http/openssl", "actix-tls/accept", "actix-tls/openssl"] # TLS via Rustls rustls = ["actix-http/rustls", "actix-tls/accept", "actix-tls/rustls"] # Internal (PRIVATE!) features used to aid testing and checking feature status. # Don't rely on these whatsoever. They may disappear at anytime. __compress = [] # io-uring feature only avaiable for Linux OSes. experimental-io-uring = ["actix-server/io-uring"] [dependencies] actix-codec = "0.5" actix-macros = { version = "0.2.3", optional = true } actix-rt = { version = "2.6", default-features = false } actix-server = "2" actix-service = "2" actix-utils = "3" actix-tls = { version = "3", default-features = false, optional = true } actix-http = { version = "3.0.0-rc.2", features = ["http2", "ws"] } actix-router = "0.5.0-rc.3" actix-web-codegen = { version = "0.5.0-rc.2", optional = true } ahash = "0.7" bytes = "1" cfg-if = "1" cookie = { version = "0.16", features = ["percent-encode"], optional = true } derive_more = "0.99.5" encoding_rs = "0.8" futures-core = { version = "0.3.7", default-features = false } futures-util = { version = "0.3.7", default-features = false } itoa = "1" language-tags = "0.3" once_cell = "1.5" log = "0.4" mime = "0.3" pin-project-lite = "0.2.7" regex = "1.4" serde = "1.0" serde_json = "1.0" serde_urlencoded = "0.7" smallvec = "1.6.1" socket2 = "0.4.0" time = { version = "0.3", default-features = false, features = ["formatting"] } url = "2.1" [dev-dependencies] actix-files = "0.6.0-beta.16" actix-test = { version = "0.1.0-beta.12", features = ["openssl", "rustls"] } awc = { version = "3.0.0-beta.20", features = ["openssl"] } brotli = "3.3.3" const-str = "0.3" criterion = { version = "0.3", features = ["html_reports"] } env_logger = "0.9" flate2 = "1.0.13" futures-util = { version = "0.3.7", default-features = false, features = ["std"] } rand = "0.8" rcgen = "0.8" rustls-pemfile = "0.2" serde = { version = "1.0", features = ["derive"] } static_assertions = "1" tls-openssl = { package = "openssl", version = "0.10.9" } tls-rustls = { package = "rustls", version = "0.20.0" } tokio = { version = "1.13.1", features = ["rt-multi-thread", "macros"] } zstd = "0.10" [[test]] name = "test_server" required-features = ["compress-brotli", "compress-gzip", "compress-zstd", "cookies"] [[test]] name = "compression" required-features = ["compress-brotli", "compress-gzip", "compress-zstd"] [[example]] name = "basic" required-features = ["compress-gzip"] [[example]] name = "uds" required-features = ["compress-gzip"] [[example]] name = "on-connect" required-features = [] [[bench]] name = "server" harness = false [[bench]] name = "service" harness = false [[bench]] name = "responder" harness = false