[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] workspace = true [features] default = ["http2", "tokio-macros", "trace"] 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"] trace = ["tracing-subscriber", "tinyvec", "thread_local", "rustls?/logging", "tokio-rustls?/logging", "multer/log"] [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 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"] } hyper-util = { version = "0.1.3", default-features = false, features = ["http1", "server", "tokio"] } # Non-optional, core dependencies from here on out. yansi = { version = "1.0.1", features = ["detect-tty"] } 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.17", 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.1.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" transient = { version = "0.2.0", path = "../../../transient" } # tracing tracing = { version = "0.1.40", default-features = false, features = ["std", "attributes"] } tinyvec = { version = "1.6", optional = true, features = ["std", "rustc_1_57"] } thread_local = { version = "1.1", optional = true } [dependencies.tracing-subscriber] version = "0.3.18" optional = true default-features = false features = ["fmt", "tracing-log", "parking_lot"] [dependencies.rocket_codegen] version = "0.6.0-dev" path = "../codegen" [dependencies.rocket_http] version = "0.6.0-dev" path = "../http" features = ["serde"] [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.rustls] version = "0.23" default-features = false features = ["ring", "std", "tls12"] optional = true [dependencies.tokio-rustls] version = "0.26" default-features = false features = ["tls12", "ring"] optional = true [dependencies.rustls-pemfile] version = "2.1.0" optional = true [dependencies.s2n-quic] version = "1.36" 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.17", features = ["test"] } pretty_assertions = "1"