2017-09-30 09:10:03 -07:00
|
|
|
[package]
|
2017-10-14 07:59:35 -07:00
|
|
|
name = "actix-web"
|
2022-01-31 22:23:33 +00:00
|
|
|
version = "4.0.0-rc.1"
|
2022-01-21 20:23:29 +00:00
|
|
|
authors = [
|
|
|
|
"Nikolay Kim <fafhrd91@gmail.com>",
|
|
|
|
"Rob Ede <robjtede@icloud.com>",
|
|
|
|
]
|
2020-11-29 16:33:45 +00:00
|
|
|
description = "Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust"
|
2019-03-28 13:46:26 -07:00
|
|
|
keywords = ["actix", "http", "web", "framework", "async"]
|
2021-04-17 15:30:31 +01:00
|
|
|
categories = [
|
|
|
|
"network-programming",
|
|
|
|
"asynchronous",
|
|
|
|
"web-programming::http-server",
|
|
|
|
"web-programming::websocket"
|
|
|
|
]
|
2021-04-17 15:28:13 +01:00
|
|
|
homepage = "https://actix.rs"
|
2021-10-20 22:32:05 +01:00
|
|
|
repository = "https://github.com/actix/actix-web.git"
|
2020-07-14 11:19:56 +09:00
|
|
|
license = "MIT OR Apache-2.0"
|
2019-03-01 22:51:32 -08:00
|
|
|
edition = "2018"
|
2018-06-22 09:33:32 +02:00
|
|
|
|
2019-04-20 04:54:44 +08:00
|
|
|
[package.metadata.docs.rs]
|
2021-02-13 15:08:43 +00:00
|
|
|
# features that docs.rs will build with
|
2021-06-19 21:21:13 +02:00
|
|
|
features = ["openssl", "rustls", "compress-brotli", "compress-gzip", "compress-zstd", "cookies", "secure-cookies"]
|
2021-09-11 08:11:16 +08:00
|
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
2017-10-16 13:16:54 -07:00
|
|
|
|
2017-09-30 09:10:03 -07:00
|
|
|
[lib]
|
2017-10-14 07:59:35 -07:00
|
|
|
name = "actix_web"
|
2017-09-30 09:10:03 -07:00
|
|
|
path = "src/lib.rs"
|
|
|
|
|
2019-03-01 23:59:44 -08:00
|
|
|
[workspace]
|
2021-08-31 02:52:29 +01:00
|
|
|
resolver = "2"
|
2019-03-01 23:59:44 -08:00
|
|
|
members = [
|
2021-04-17 15:30:31 +01:00
|
|
|
".",
|
|
|
|
"actix-files",
|
2022-01-03 14:59:01 +00:00
|
|
|
"actix-http-test",
|
|
|
|
"actix-http",
|
2021-04-17 15:30:31 +01:00
|
|
|
"actix-multipart",
|
2022-01-03 14:59:01 +00:00
|
|
|
"actix-router",
|
|
|
|
"actix-test",
|
2021-04-17 15:30:31 +01:00
|
|
|
"actix-web-actors",
|
|
|
|
"actix-web-codegen",
|
2022-01-03 14:59:01 +00:00
|
|
|
"awc",
|
2019-03-01 23:59:44 -08:00
|
|
|
]
|
|
|
|
|
2017-10-22 21:52:01 -07:00
|
|
|
[features]
|
2021-06-19 21:21:13 +02:00
|
|
|
default = ["compress-brotli", "compress-gzip", "compress-zstd", "cookies"]
|
2018-03-07 15:38:58 +08:00
|
|
|
|
2021-06-19 21:21:13 +02:00
|
|
|
# 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"]
|
2018-04-24 09:29:15 -07:00
|
|
|
|
2021-02-13 15:08:43 +00:00
|
|
|
# support for cookies
|
2021-04-09 18:07:10 +01:00
|
|
|
cookies = ["cookie"]
|
2021-02-13 15:08:43 +00:00
|
|
|
|
|
|
|
# secure cookies feature
|
2021-04-09 18:07:10 +01:00
|
|
|
secure-cookies = ["cookie/secure"]
|
2019-03-05 10:08:08 -08:00
|
|
|
|
2019-03-04 16:29:03 -08:00
|
|
|
# openssl
|
2021-04-02 08:26:59 +01:00
|
|
|
openssl = ["actix-http/openssl", "actix-tls/accept", "actix-tls/openssl"]
|
2019-03-04 16:29:03 -08:00
|
|
|
|
|
|
|
# rustls
|
2021-04-02 08:26:59 +01:00
|
|
|
rustls = ["actix-http/rustls", "actix-tls/accept", "actix-tls/rustls"]
|
2019-07-18 17:24:12 +06:00
|
|
|
|
2021-10-20 22:32:05 +01:00
|
|
|
# Internal (PRIVATE!) features used to aid testing and checking feature status.
|
2021-06-19 21:21:13 +02:00
|
|
|
# Don't rely on these whatsoever. They may disappear at anytime.
|
|
|
|
__compress = []
|
|
|
|
|
2021-11-22 09:19:09 +08:00
|
|
|
# io-uring feature only avaiable for Linux OSes.
|
|
|
|
experimental-io-uring = ["actix-server/io-uring"]
|
|
|
|
|
2017-09-30 09:10:03 -07:00
|
|
|
[dependencies]
|
2021-11-16 22:41:24 +00:00
|
|
|
actix-codec = "0.4.1"
|
2021-10-19 17:30:32 +01:00
|
|
|
actix-macros = "0.2.3"
|
2022-01-12 17:53:36 +00:00
|
|
|
actix-rt = "2.6"
|
2022-01-19 16:58:11 +00:00
|
|
|
actix-server = "2"
|
2021-04-16 20:28:21 +01:00
|
|
|
actix-service = "2.0.0"
|
2021-04-17 02:07:33 +01:00
|
|
|
actix-utils = "3.0.0"
|
2021-12-26 21:24:03 +00:00
|
|
|
actix-tls = { version = "3.0.0", default-features = false, optional = true }
|
2019-12-03 00:49:12 +06:00
|
|
|
|
2022-01-31 22:22:40 +00:00
|
|
|
actix-http = { version = "3.0.0-rc.1", features = ["http2", "ws"] }
|
2022-01-31 22:21:30 +00:00
|
|
|
actix-router = "0.5.0-rc.3"
|
2022-01-04 15:34:16 +00:00
|
|
|
actix-web-codegen = "0.5.0-rc.1"
|
2018-06-19 12:07:07 +06:00
|
|
|
|
2021-02-07 03:54:58 +00:00
|
|
|
ahash = "0.7"
|
2021-01-04 07:47:04 +08:00
|
|
|
bytes = "1"
|
2021-06-19 21:21:13 +02:00
|
|
|
cfg-if = "1"
|
2021-12-29 11:03:25 +01:00
|
|
|
cookie = { version = "0.16", features = ["percent-encode"], optional = true }
|
2020-11-29 16:33:45 +00:00
|
|
|
derive_more = "0.99.5"
|
2019-06-18 14:43:25 +08:00
|
|
|
encoding_rs = "0.8"
|
2021-01-04 07:47:04 +08:00
|
|
|
futures-core = { version = "0.3.7", default-features = false }
|
|
|
|
futures-util = { version = "0.3.7", default-features = false }
|
2021-12-22 08:34:48 +00:00
|
|
|
itoa = "1"
|
2021-04-28 02:23:12 +02:00
|
|
|
language-tags = "0.3"
|
2021-04-01 11:42:18 -04:00
|
|
|
once_cell = "1.5"
|
2018-01-27 22:03:03 -08:00
|
|
|
log = "0.4"
|
2017-10-18 23:43:50 -07:00
|
|
|
mime = "0.3"
|
2021-11-29 09:23:27 +08:00
|
|
|
pin-project-lite = "0.2.7"
|
2020-10-19 08:18:16 +02:00
|
|
|
regex = "1.4"
|
2020-09-11 12:09:52 +01:00
|
|
|
serde = { version = "1.0", features = ["derive"] }
|
2017-11-15 20:06:28 -10:00
|
|
|
serde_json = "1.0"
|
2020-11-06 01:36:15 +09:00
|
|
|
serde_urlencoded = "0.7"
|
2021-09-01 09:53:26 +01:00
|
|
|
smallvec = "1.6.1"
|
2021-03-19 12:17:06 +00:00
|
|
|
socket2 = "0.4.0"
|
2021-09-11 00:01:01 +01:00
|
|
|
time = { version = "0.3", default-features = false, features = ["formatting"] }
|
2021-02-13 15:08:43 +00:00
|
|
|
url = "2.1"
|
2019-03-01 22:51:32 -08:00
|
|
|
|
2017-10-21 22:59:09 -07:00
|
|
|
[dev-dependencies]
|
2022-01-31 22:32:52 +00:00
|
|
|
actix-files = "0.6.0-beta.16"
|
2022-01-31 22:34:59 +00:00
|
|
|
actix-test = { version = "0.1.0-beta.12", features = ["openssl", "rustls"] }
|
2022-01-31 22:32:09 +00:00
|
|
|
awc = { version = "3.0.0-beta.20", features = ["openssl"] }
|
2021-04-02 08:26:59 +01:00
|
|
|
|
2022-01-15 14:03:16 +00:00
|
|
|
brotli = "3.3.3"
|
2022-01-03 14:05:08 +00:00
|
|
|
const-str = "0.3"
|
2021-06-25 19:39:06 -04:00
|
|
|
criterion = { version = "0.3", features = ["html_reports"] }
|
2021-11-16 23:07:08 +00:00
|
|
|
env_logger = "0.9"
|
2021-02-13 17:16:36 +00:00
|
|
|
flate2 = "1.0.13"
|
2021-10-20 02:00:11 +01:00
|
|
|
futures-util = { version = "0.3.7", default-features = false, features = ["std"] }
|
2021-02-13 17:16:36 +00:00
|
|
|
rand = "0.8"
|
|
|
|
rcgen = "0.8"
|
2021-10-20 02:00:11 +01:00
|
|
|
rustls-pemfile = "0.2"
|
2022-01-05 07:42:52 +03:00
|
|
|
static_assertions = "1"
|
2021-04-02 08:26:59 +01:00
|
|
|
tls-openssl = { package = "openssl", version = "0.10.9" }
|
2021-10-20 02:00:11 +01:00
|
|
|
tls-rustls = { package = "rustls", version = "0.20.0" }
|
2021-11-16 23:22:29 +00:00
|
|
|
zstd = "0.9"
|
2017-10-26 06:12:23 -07:00
|
|
|
|
2021-09-08 17:42:14 +01:00
|
|
|
[profile.dev]
|
|
|
|
# Disabling debug info speeds up builds a bunch and we don't rely on it for debugging that much.
|
|
|
|
debug = 0
|
|
|
|
|
2017-09-30 09:10:03 -07:00
|
|
|
[profile.release]
|
|
|
|
lto = true
|
|
|
|
opt-level = 3
|
2018-02-15 13:59:25 -08:00
|
|
|
codegen-units = 1
|
2019-04-01 10:26:09 -07:00
|
|
|
|
2019-12-15 13:28:54 +06:00
|
|
|
[patch.crates-io]
|
2021-04-02 08:26:59 +01:00
|
|
|
actix-files = { path = "actix-files" }
|
2020-02-18 20:28:45 +02:00
|
|
|
actix-http = { path = "actix-http" }
|
2020-12-03 01:23:30 +08:00
|
|
|
actix-http-test = { path = "actix-http-test" }
|
2021-04-02 08:26:59 +01:00
|
|
|
actix-multipart = { path = "actix-multipart" }
|
2021-08-06 22:42:31 +01:00
|
|
|
actix-router = { path = "actix-router" }
|
2021-04-02 08:26:59 +01:00
|
|
|
actix-test = { path = "actix-test" }
|
|
|
|
actix-web = { path = "." }
|
2021-01-07 20:02:08 +00:00
|
|
|
actix-web-actors = { path = "actix-web-actors" }
|
2019-12-15 13:28:54 +06:00
|
|
|
actix-web-codegen = { path = "actix-web-codegen" }
|
2020-01-10 11:36:59 +06:00
|
|
|
awc = { path = "awc" }
|
2020-01-25 01:05:25 +02:00
|
|
|
|
2021-11-30 14:12:04 +00:00
|
|
|
# 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" }
|
|
|
|
|
2021-04-09 18:07:10 +01:00
|
|
|
[[test]]
|
|
|
|
name = "test_server"
|
2021-06-19 21:21:13 +02:00
|
|
|
required-features = ["compress-brotli", "compress-gzip", "compress-zstd", "cookies"]
|
2021-04-09 18:07:10 +01:00
|
|
|
|
2022-01-21 17:18:07 +00:00
|
|
|
[[test]]
|
|
|
|
name = "compression"
|
|
|
|
required-features = ["compress-brotli", "compress-gzip", "compress-zstd"]
|
|
|
|
|
2021-04-09 18:07:10 +01:00
|
|
|
[[example]]
|
|
|
|
name = "basic"
|
2021-06-19 21:21:13 +02:00
|
|
|
required-features = ["compress-gzip"]
|
2021-04-09 18:07:10 +01:00
|
|
|
|
|
|
|
[[example]]
|
|
|
|
name = "uds"
|
2021-06-19 21:21:13 +02:00
|
|
|
required-features = ["compress-gzip"]
|
2021-04-09 18:07:10 +01:00
|
|
|
|
|
|
|
[[example]]
|
2022-01-04 12:09:48 +00:00
|
|
|
name = "on-connect"
|
2021-04-09 18:07:10 +01:00
|
|
|
required-features = []
|
|
|
|
|
2020-01-25 01:05:25 +02:00
|
|
|
[[bench]]
|
|
|
|
name = "server"
|
|
|
|
harness = false
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "service"
|
|
|
|
harness = false
|
2021-01-09 06:17:19 +08:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "responder"
|
2021-01-09 13:17:19 +00:00
|
|
|
harness = false
|