[package] name = "actix-web" version = "4.0.0-rc.1" 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 = ["openssl", "rustls", "compress-brotli", "compress-gzip", "compress-zstd", "cookies", "secure-cookies"] rustdoc-args = ["--cfg", "docsrs"] [lib] name = "actix_web" path = "src/lib.rs" [workspace] resolver = "2" members = [ ".", "actix-files", "actix-http-test", "actix-http", "actix-multipart", "actix-router", "actix-test", "actix-web-actors", "actix-web-codegen", "awc", ] [features] default = ["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"] # support for cookies cookies = ["cookie"] # secure cookies feature secure-cookies = ["cookie/secure"] # openssl openssl = ["actix-http/openssl", "actix-tls/accept", "actix-tls/openssl"] # 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.4.1" actix-macros = "0.2.3" actix-rt = "2.6" actix-server = "2" actix-service = "2.0.0" actix-utils = "3.0.0" actix-tls = { version = "3.0.0", default-features = false, optional = true } actix-http = { version = "3.0.0-rc.1", features = ["http2", "ws"] } actix-router = "0.5.0-rc.3" actix-web-codegen = "0.5.0-rc.1" 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 = { version = "1.0", features = ["derive"] } 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.11", 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" static_assertions = "1" tls-openssl = { package = "openssl", version = "0.10.9" } tls-rustls = { package = "rustls", version = "0.20.0" } zstd = "0.9" [profile.dev] # Disabling debug info speeds up builds a bunch and we don't rely on it for debugging that much. debug = 0 [profile.release] lto = true opt-level = 3 codegen-units = 1 [patch.crates-io] actix-files = { path = "actix-files" } actix-http = { path = "actix-http" } actix-http-test = { path = "actix-http-test" } actix-multipart = { path = "actix-multipart" } actix-router = { path = "actix-router" } actix-test = { path = "actix-test" } actix-web = { path = "." } actix-web-actors = { path = "actix-web-actors" } actix-web-codegen = { path = "actix-web-codegen" } awc = { path = "awc" } # uncomment for quick testing against local actix-net repo # actix-service = { path = "../actix-net/actix-service" } # actix-macros = { path = "../actix-net/actix-macros" } # actix-rt = { path = "../actix-net/actix-rt" } # actix-codec = { path = "../actix-net/actix-codec" } # actix-utils = { path = "../actix-net/actix-utils" } # actix-tls = { path = "../actix-net/actix-tls" } # actix-server = { path = "../actix-net/actix-server" } [[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