2019-03-26 18:54:35 +00:00
|
|
|
[package]
|
|
|
|
name = "actix-http"
|
2024-08-10 02:09:09 +00:00
|
|
|
version = "3.9.0"
|
2022-01-21 20:21:40 +00:00
|
|
|
authors = [
|
|
|
|
"Nikolay Kim <fafhrd91@gmail.com>",
|
|
|
|
"Rob Ede <robjtede@icloud.com>",
|
|
|
|
]
|
2023-12-16 10:20:28 +00:00
|
|
|
description = "HTTP types and services for the Actix ecosystem"
|
2019-03-28 19:45:41 +00:00
|
|
|
keywords = ["actix", "http", "framework", "async", "futures"]
|
2019-03-26 18:54:35 +00:00
|
|
|
homepage = "https://actix.rs"
|
2023-11-06 23:54:38 +00:00
|
|
|
repository = "https://github.com/actix/actix-web"
|
2021-10-20 21:32:05 +00:00
|
|
|
categories = [
|
|
|
|
"network-programming",
|
|
|
|
"asynchronous",
|
|
|
|
"web-programming::http-server",
|
|
|
|
"web-programming::websocket",
|
|
|
|
]
|
2023-08-26 23:07:11 +00:00
|
|
|
license.workspace = true
|
|
|
|
edition.workspace = true
|
|
|
|
rust-version.workspace = true
|
2019-03-26 18:54:35 +00:00
|
|
|
|
|
|
|
[package.metadata.docs.rs]
|
2024-02-03 23:55:01 +00:00
|
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
features = [
|
|
|
|
"http2",
|
|
|
|
"ws",
|
|
|
|
"openssl",
|
|
|
|
"rustls-0_20",
|
|
|
|
"rustls-0_21",
|
|
|
|
"rustls-0_22",
|
2024-05-18 18:22:53 +00:00
|
|
|
"rustls-0_23",
|
2024-02-03 23:55:01 +00:00
|
|
|
"compress-brotli",
|
|
|
|
"compress-gzip",
|
|
|
|
"compress-zstd",
|
|
|
|
]
|
2019-03-26 18:54:35 +00:00
|
|
|
|
2024-06-10 02:39:06 +00:00
|
|
|
[package.metadata.cargo_check_external_types]
|
|
|
|
allowed_external_types = [
|
|
|
|
"actix_codec::*",
|
|
|
|
"actix_service::*",
|
|
|
|
"actix_tls::*",
|
|
|
|
"actix_utils::*",
|
|
|
|
"bytes::*",
|
|
|
|
"bytestring::*",
|
|
|
|
"encoding_rs::*",
|
|
|
|
"futures_core::*",
|
|
|
|
"h2::*",
|
|
|
|
"http::*",
|
|
|
|
"httparse::*",
|
|
|
|
"language_tags::*",
|
|
|
|
"mime::*",
|
|
|
|
"openssl::*",
|
|
|
|
"rustls::*",
|
|
|
|
"tokio_util::*",
|
|
|
|
"tokio::*",
|
|
|
|
]
|
2019-03-26 18:54:35 +00:00
|
|
|
|
|
|
|
[features]
|
|
|
|
default = []
|
|
|
|
|
2022-01-31 21:22:23 +00:00
|
|
|
# HTTP/2 protocol support
|
2024-06-19 22:40:22 +00:00
|
|
|
http2 = ["dep:h2"]
|
2022-01-31 21:22:23 +00:00
|
|
|
|
|
|
|
# WebSocket protocol implementation
|
|
|
|
ws = [
|
2024-06-19 22:40:22 +00:00
|
|
|
"dep:local-channel",
|
|
|
|
"dep:base64",
|
|
|
|
"dep:rand",
|
|
|
|
"dep:sha1",
|
2022-01-31 21:22:23 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
# TLS via OpenSSL
|
2024-06-19 22:34:49 +00:00
|
|
|
openssl = ["__tls", "actix-tls/accept", "actix-tls/openssl"]
|
2019-08-01 22:26:30 +00:00
|
|
|
|
2023-08-26 23:07:11 +00:00
|
|
|
# TLS via Rustls v0.20
|
2024-06-19 22:34:49 +00:00
|
|
|
rustls = ["__tls", "rustls-0_20"]
|
2023-08-26 23:07:11 +00:00
|
|
|
|
|
|
|
# TLS via Rustls v0.20
|
2024-06-19 22:34:49 +00:00
|
|
|
rustls-0_20 = ["__tls", "actix-tls/accept", "actix-tls/rustls-0_20"]
|
2023-08-26 23:07:11 +00:00
|
|
|
|
|
|
|
# TLS via Rustls v0.21
|
2024-06-19 22:34:49 +00:00
|
|
|
rustls-0_21 = ["__tls", "actix-tls/accept", "actix-tls/rustls-0_21"]
|
2019-03-26 18:54:35 +00:00
|
|
|
|
2024-02-03 23:55:01 +00:00
|
|
|
# TLS via Rustls v0.22
|
2024-06-19 22:34:49 +00:00
|
|
|
rustls-0_22 = ["__tls", "actix-tls/accept", "actix-tls/rustls-0_22"]
|
2024-02-03 23:55:01 +00:00
|
|
|
|
2024-05-18 18:22:53 +00:00
|
|
|
# TLS via Rustls v0.23
|
2024-06-19 22:34:49 +00:00
|
|
|
rustls-0_23 = ["__tls", "actix-tls/accept", "actix-tls/rustls-0_23"]
|
2024-05-18 18:22:53 +00:00
|
|
|
|
2022-01-31 21:22:23 +00:00
|
|
|
# Compression codecs
|
2024-06-19 22:40:22 +00:00
|
|
|
compress-brotli = ["__compress", "dep:brotli"]
|
|
|
|
compress-gzip = ["__compress", "dep:flate2"]
|
|
|
|
compress-zstd = ["__compress", "dep:zstd"]
|
2019-03-26 22:14:32 +00:00
|
|
|
|
2023-08-26 23:07:11 +00:00
|
|
|
# Internal (PRIVATE!) features used to aid testing and checking feature status.
|
2022-01-31 21:22:23 +00:00
|
|
|
# Don't rely on these whatsoever. They are semver-exempt and may disappear at anytime.
|
2021-06-19 19:21:13 +00:00
|
|
|
__compress = []
|
|
|
|
|
2024-06-19 22:34:49 +00:00
|
|
|
# Internal (PRIVATE!) features used to aid checking feature status.
|
|
|
|
# Don't rely on these whatsoever. They may disappear at anytime.
|
|
|
|
__tls = []
|
|
|
|
|
2019-03-26 18:54:35 +00:00
|
|
|
[dependencies]
|
2022-01-31 21:22:23 +00:00
|
|
|
actix-service = "2"
|
2022-02-15 20:49:10 +00:00
|
|
|
actix-codec = "0.5"
|
2022-01-31 21:22:23 +00:00
|
|
|
actix-utils = "3"
|
2021-12-17 14:13:54 +00:00
|
|
|
actix-rt = { version = "2.2", default-features = false }
|
2019-12-02 17:33:39 +00:00
|
|
|
|
2023-02-26 03:50:36 +00:00
|
|
|
ahash = "0.8"
|
2023-05-06 10:38:51 +00:00
|
|
|
bitflags = "2"
|
2024-11-04 23:33:02 +00:00
|
|
|
bytes = "1.7"
|
2021-01-04 11:27:32 +00:00
|
|
|
bytestring = "1"
|
2024-08-18 14:17:03 +00:00
|
|
|
derive_more = { version = "1", features = ["as_ref", "deref", "deref_mut", "display", "error", "from"] }
|
2019-06-18 06:43:25 +00:00
|
|
|
encoding_rs = "0.8"
|
2022-12-18 01:34:48 +00:00
|
|
|
futures-core = { version = "0.3.17", default-features = false, features = ["alloc"] }
|
2023-03-02 16:21:13 +00:00
|
|
|
http = "0.2.7"
|
2021-08-29 00:42:22 +00:00
|
|
|
httparse = "1.5.1"
|
2021-09-10 23:01:01 +00:00
|
|
|
httpdate = "1.0.1"
|
2021-12-22 08:34:48 +00:00
|
|
|
itoa = "1"
|
2021-04-28 00:23:12 +00:00
|
|
|
language-tags = "0.3"
|
2023-03-11 22:14:58 +00:00
|
|
|
mime = "0.3.4"
|
2019-08-13 17:48:11 +00:00
|
|
|
percent-encoding = "2.1"
|
2021-04-01 14:26:13 +00:00
|
|
|
pin-project-lite = "0.2"
|
2021-09-01 08:53:26 +00:00
|
|
|
smallvec = "1.6.1"
|
2023-02-26 03:47:25 +00:00
|
|
|
tokio = { version = "1.24.2", features = [] }
|
2022-10-30 19:47:49 +00:00
|
|
|
tokio-util = { version = "0.7", features = ["io", "codec"] }
|
2022-03-10 03:12:29 +00:00
|
|
|
tracing = { version = "0.1.30", default-features = false, features = ["log"] }
|
2019-03-26 18:54:35 +00:00
|
|
|
|
2022-01-31 21:22:23 +00:00
|
|
|
# http2
|
2024-06-09 03:51:53 +00:00
|
|
|
h2 = { version = "0.3.26", optional = true }
|
2022-01-31 21:22:23 +00:00
|
|
|
|
|
|
|
# websockets
|
|
|
|
local-channel = { version = "0.1", optional = true }
|
2024-03-03 22:18:29 +00:00
|
|
|
base64 = { version = "0.22", optional = true }
|
2022-01-31 21:22:23 +00:00
|
|
|
rand = { version = "0.8", optional = true }
|
2022-06-11 03:53:58 +00:00
|
|
|
sha1 = { version = "0.10", optional = true }
|
2022-01-31 21:22:23 +00:00
|
|
|
|
|
|
|
# openssl/rustls
|
2024-05-19 10:55:12 +00:00
|
|
|
actix-tls = { version = "3.4", default-features = false, optional = true }
|
2021-10-26 12:16:48 +00:00
|
|
|
|
2022-01-31 21:22:23 +00:00
|
|
|
# compress-*
|
2024-10-07 20:40:14 +00:00
|
|
|
brotli = { version = "7", optional = true }
|
2019-12-12 09:08:08 +00:00
|
|
|
flate2 = { version = "1.0.13", optional = true }
|
2023-10-30 01:18:45 +00:00
|
|
|
zstd = { version = "0.13", optional = true }
|
2019-03-26 22:14:32 +00:00
|
|
|
|
2019-03-26 18:54:35 +00:00
|
|
|
[dev-dependencies]
|
2022-07-24 01:11:21 +00:00
|
|
|
actix-http-test = { version = "3", features = ["openssl"] }
|
2022-01-19 16:58:11 +00:00
|
|
|
actix-server = "2"
|
2024-05-18 18:22:53 +00:00
|
|
|
actix-tls = { version = "3.4", features = ["openssl", "rustls-0_23-webpki-roots"] }
|
2022-06-11 15:55:06 +00:00
|
|
|
actix-web = "4"
|
2021-12-11 00:30:12 +00:00
|
|
|
|
2021-06-17 16:57:58 +00:00
|
|
|
async-stream = "0.3"
|
2023-07-02 00:09:15 +00:00
|
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
2024-02-07 03:47:30 +00:00
|
|
|
divan = "0.1.8"
|
2024-03-03 23:43:54 +00:00
|
|
|
env_logger = "0.11"
|
2022-12-18 01:34:48 +00:00
|
|
|
futures-util = { version = "0.3.17", default-features = false, features = ["alloc"] }
|
2022-01-16 03:16:26 +00:00
|
|
|
memchr = "2.4"
|
2022-01-31 17:30:34 +00:00
|
|
|
once_cell = "1.9"
|
2024-05-19 09:12:32 +00:00
|
|
|
rcgen = "0.13"
|
2021-09-10 23:01:01 +00:00
|
|
|
regex = "1.3"
|
2022-03-10 02:36:57 +00:00
|
|
|
rustversion = "1"
|
2024-02-03 23:55:01 +00:00
|
|
|
rustls-pemfile = "2"
|
2024-08-18 14:17:03 +00:00
|
|
|
serde = { version = "1", features = ["derive"] }
|
2021-04-12 09:30:28 +00:00
|
|
|
serde_json = "1.0"
|
2021-11-16 21:41:35 +00:00
|
|
|
static_assertions = "1"
|
2023-07-02 00:09:15 +00:00
|
|
|
tls-openssl = { package = "openssl", version = "0.10.55" }
|
2024-05-18 18:22:53 +00:00
|
|
|
tls-rustls_023 = { package = "rustls", version = "0.23" }
|
2023-02-26 03:47:25 +00:00
|
|
|
tokio = { version = "1.24.2", features = ["net", "rt", "macros"] }
|
2020-02-07 00:42:16 +00:00
|
|
|
|
2024-07-07 02:54:00 +00:00
|
|
|
[lints]
|
|
|
|
workspace = true
|
|
|
|
|
2021-02-28 19:55:34 +00:00
|
|
|
[[example]]
|
|
|
|
name = "ws"
|
2024-05-18 18:22:53 +00:00
|
|
|
required-features = ["ws", "rustls-0_23"]
|
2023-08-26 23:07:11 +00:00
|
|
|
|
|
|
|
[[example]]
|
|
|
|
name = "tls_rustls"
|
2024-05-18 18:22:53 +00:00
|
|
|
required-features = ["http2", "rustls-0_23"]
|
2023-03-12 15:32:07 +00:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "response-body-compression"
|
|
|
|
harness = false
|
|
|
|
required-features = ["compress-brotli", "compress-gzip", "compress-zstd"]
|
2024-02-07 03:47:30 +00:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "date-formatting"
|
|
|
|
harness = false
|