[package] name = "rocket" version = "0.6.0-dev" authors = ["Sergio Benitez "] description = """ Web framework with a focus on usability, security, extensibility, and speed. """ documentation = "https://api.rocket.rs/master/rocket/" homepage = "https://rocket.rs" repository = "https://github.com/rwf2/Rocket" readme = "../../README.md" keywords = ["rocket", "web", "framework", "server"] license = "MIT OR Apache-2.0" build = "build.rs" categories = ["web-programming::http-server"] edition = "2021" rust-version = "1.75" [package.metadata.docs.rs] all-features = true [lints.rust] rust_2018_idioms = "warn" # missing_docs = "warn" async_fn_in_trait = "allow" refining_impl_trait = "allow" [lints.clippy] type_complexity = "allow" module_inception = "allow" multiple_bound_locations = "allow" manual_range_contains = "allow" [features] default = ["http2", "tokio-macros"] http2 = ["hyper/http2", "hyper-util/http2"] http3-preview = ["s2n-quic", "s2n-quic-h3", "tls"] secrets = ["cookie/private", "cookie/key-expansion"] json = ["serde_json"] msgpack = ["rmp-serde"] uuid = ["uuid_", "rocket_http/uuid"] tls = ["rustls", "tokio-rustls", "rustls-pemfile"] mtls = ["tls", "x509-parser"] tokio-macros = ["tokio/macros"] [dependencies] # Optional serialization dependencies. serde_json = { version = "1.0.26", optional = true } rmp-serde = { version = "1", optional = true } uuid_ = { package = "uuid", version = "1", optional = true, features = ["serde"] } # Optional TLS dependencies rustls = { version = "0.23", default-features = false, features = ["ring", "logging", "std", "tls12"], optional = true } tokio-rustls = { version = "0.26", default-features = false, features = ["logging", "tls12", "ring"], optional = true } rustls-pemfile = { version = "2.0.0", optional = true } # Optional MTLS dependencies x509-parser = { version = "0.16", optional = true } # Hyper dependencies http = "1" bytes = "1.4" hyper = { version = "1.1", default-features = false, features = ["http1", "server"] } # Non-optional, core dependencies from here on out. yansi = { version = "1.0.1", features = ["detect-tty"] } log = { version = "0.4", features = ["std"] } num_cpus = "1.0" time = { version = "0.3", features = ["macros", "parsing"] } memchr = "2" # TODO: Use pear instead. binascii = "0.1" ref-cast = "1.0" ref-swap = "0.1.2" parking_lot = "0.12" ubyte = {version = "0.10.2", features = ["serde"] } serde = { version = "1.0", features = ["derive"] } figment = { version = "0.10.13", features = ["toml", "env"] } rand = "0.8" either = "1" pin-project-lite = "0.2" indexmap = { version = "2", features = ["serde"] } tempfile = "3" async-trait = "0.1.43" async-stream = "0.3.2" multer = { version = "3.0.0", features = ["tokio-io"] } tokio-stream = { version = "0.1.6", features = ["signal", "time"] } cookie = { version = "0.18", features = ["percent-encode"] } futures = { version = "0.3.30", default-features = false, features = ["std"] } state = "0.6" [dependencies.hyper-util] version = "0.1.3" default-features = false features = ["http1", "server", "tokio"] [dependencies.tokio] version = "1.35.1" features = ["rt-multi-thread", "net", "io-util", "fs", "time", "sync", "signal", "parking_lot"] [dependencies.tokio-util] version = "0.7" default-features = false features = ["io"] [dependencies.rocket_codegen] version = "0.6.0-dev" path = "../codegen" [dependencies.rocket_http] version = "0.6.0-dev" path = "../http" features = ["serde"] [dependencies.s2n-quic] version = "1.32" default-features = false features = ["provider-address-token-default", "provider-tls-rustls"] optional = true [dependencies.s2n-quic-h3] git = "https://github.com/SergioBenitez/s2n-quic-h3.git" optional = true [target.'cfg(unix)'.dependencies] libc = "0.2.149" [build-dependencies] version_check = "0.9.1" [dev-dependencies] tokio = { version = "1", features = ["macros", "io-std"] } figment = { version = "0.10", features = ["test"] } pretty_assertions = "1"