[package] name = "awc" version = "3.5.0" authors = ["Nikolay Kim "] description = "Async HTTP and WebSocket client library" keywords = ["actix", "http", "framework", "async", "web"] categories = [ "network-programming", "asynchronous", "web-programming::http-client", "web-programming::websocket", ] homepage = "https://actix.rs" repository = "https://github.com/actix/actix-web" license = "MIT OR Apache-2.0" edition = "2021" [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] features = [ "cookies", "openssl", "rustls-0_20", "rustls-0_21", "rustls-0_22-webpki-roots", "rustls-0_23-webpki-roots", "compress-brotli", "compress-gzip", "compress-zstd", ] [package.metadata.cargo_check_external_types] allowed_external_types = [ "actix_codec::*", "actix_http::*", "actix_rt::*", "actix_service::*", "actix_tls::*", "bytes::*", "cookie::*", "cookie", "futures_core::*", "h2::*", "http::*", "openssl::*", "rustls::*", "serde_json::*", "serde_urlencoded::*", "serde::*", "tokio::*", ] [features] default = ["compress-brotli", "compress-gzip", "compress-zstd", "cookies"] # TLS via OpenSSL openssl = ["tls-openssl", "actix-tls/openssl"] # TLS via Rustls v0.20 rustls = ["rustls-0_20"] # TLS via Rustls v0.20 rustls-0_20 = ["tls-rustls-0_20", "actix-tls/rustls-0_20"] # TLS via Rustls v0.21 rustls-0_21 = ["tls-rustls-0_21", "actix-tls/rustls-0_21"] # TLS via Rustls v0.22 (WebPKI roots) rustls-0_22-webpki-roots = ["tls-rustls-0_22", "actix-tls/rustls-0_22-webpki-roots"] # TLS via Rustls v0.22 (Native roots) rustls-0_22-native-roots = ["tls-rustls-0_22", "actix-tls/rustls-0_22-native-roots"] # TLS via Rustls v0.23 rustls-0_23 = ["tls-rustls-0_23", "actix-tls/rustls-0_23"] # TLS via Rustls v0.23 (WebPKI roots) rustls-0_23-webpki-roots = ["rustls-0_23", "actix-tls/rustls-0_23-webpki-roots"] # TLS via Rustls v0.23 (Native roots) rustls-0_23-native-roots = ["rustls-0_23", "actix-tls/rustls-0_23-native-roots"] # 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"] # Cookie parsing and cookie jar cookies = ["dep:cookie"] # Use `trust-dns-resolver` crate as DNS resolver trust-dns = ["trust-dns-resolver"] # Internal (PRIVATE!) features used to aid testing and checking feature status. # Don't rely on these whatsoever. They may disappear at anytime. __compress = [] # Enable dangerous feature for testing and local network usage: # - HTTP/2 over TCP(No Tls). # DO NOT enable this over any internet use case. dangerous-h2c = [] [dependencies] actix-codec = "0.5" actix-service = "2" actix-http = { version = "3.7", features = ["http2", "ws"] } actix-rt = { version = "2.1", default-features = false } actix-tls = { version = "3.4", features = ["connect", "uri"] } actix-utils = "3" base64 = "0.22" bytes = "1" cfg-if = "1" derive_more = "0.99.5" futures-core = { version = "0.3.17", default-features = false, features = ["alloc"] } futures-util = { version = "0.3.17", default-features = false, features = ["alloc", "sink"] } h2 = "0.4.5" http = "1.1.0" itoa = "1" log =" 0.4" mime = "0.3" percent-encoding = "2.1" pin-project-lite = "0.2" rand = "0.8" serde = "1.0" serde_json = "1.0" serde_urlencoded = "0.7" tokio = { version = "1.24.2", features = ["sync"] } cookie = { version = "0.16", features = ["percent-encode"], optional = true } tls-openssl = { package = "openssl", version = "0.10.55", optional = true } tls-rustls-0_20 = { package = "rustls", version = "0.20", optional = true, features = ["dangerous_configuration"] } tls-rustls-0_21 = { package = "rustls", version = "0.21", optional = true, features = ["dangerous_configuration"] } tls-rustls-0_22 = { package = "rustls", version = "0.22", optional = true } tls-rustls-0_23 = { package = "rustls", version = "0.23", optional = true, default-features = false } trust-dns-resolver = { version = "0.23", optional = true } [dev-dependencies] actix-http = { version = "3.7", features = ["openssl"] } actix-http-test = { version = "3", features = ["openssl"] } actix-server = "2" actix-test = { version = "0.1", features = ["openssl", "rustls-0_23"] } actix-tls = { version = "3.4", features = ["openssl", "rustls-0_23"] } actix-utils = "3" actix-web = { version = "4", features = ["openssl"] } brotli = "6" const-str = "0.5" env_logger = "0.11" flate2 = "1.0.13" futures-util = { version = "0.3.17", default-features = false } static_assertions = "1.1" rcgen = "0.13" rustls-pemfile = "2" tokio = { version = "1.24.2", features = ["rt-multi-thread", "macros"] } zstd = "0.13" tls-rustls-0_23 = { package = "rustls", version = "0.23" } # add rustls 0.23 with default features to make aws_lc_rs work in tests [lints] workspace = true [[example]] name = "client" required-features = ["rustls-0_23-webpki-roots"]