[package]
edition = "2021"
rust-version = "1.82.0"
name = "rkt"
version = "0.6.0"
authors = ["Sergio Benitez <sb@sergio.bz>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Web framework with a focus on usability, security, extensibility, and speed. (Community Fork)
"""
homepage = "https://rkt.rs"
documentation = "https://docs.rs/rustfoo/latest/rkt/"
readme = "README.md"
keywords = [
"rkt",
"rocket",
"web",
"framework",
"server",
]
categories = ["web-programming::http-server"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rustfoo/rkt"
[package.metadata.docs.rs]
all-features = true
[features]
default = [
"http2",
"tokio-macros",
"trace",
]
http2 = [
"hyper/http2",
"hyper-util/http2",
]
http3-preview = [
"s2n-quic",
"s2n-quic-h3",
"tls",
]
json = ["serde_json"]
msgpack = ["rmp-serde"]
mtls = [
"tls",
"x509-parser",
]
secrets = [
"cookie/private",
"cookie/key-expansion",
]
tls = [
"rustls",
"tokio-rustls",
"rustls-pki-types",
]
tokio-macros = ["tokio/macros"]
trace = [
"tracing-subscriber",
"tinyvec",
"thread_local",
"rustls?/logging",
"tokio-rustls?/logging",
"multer/log",
"s2n-quic-h3?/tracing",
]
uuid = [
"uuid_",
"rkt_http/uuid",
]
[lib]
name = "rkt"
path = "src/lib.rs"
[[test]]
name = "absolute-uris-okay-issue-443"
path = "tests/absolute-uris-okay-issue-443.rs"
[[test]]
name = "adhoc-uri-normalizer"
path = "tests/adhoc-uri-normalizer.rs"
[[test]]
name = "byte-slices-form-field-issue-2148"
path = "tests/byte-slices-form-field-issue-2148.rs"
[[test]]
name = "can-correct-bad-local-uri"
path = "tests/can-correct-bad-local-uri.rs"
[[test]]
name = "can-launch-tls"
path = "tests/can-launch-tls.rs"
[[test]]
name = "catcher-cookies-1213"
path = "tests/catcher-cookies-1213.rs"
[[test]]
name = "conditionally-set-server-header-996"
path = "tests/conditionally-set-server-header-996.rs"
[[test]]
name = "config-proxy-proto-header"
path = "tests/config-proxy-proto-header.rs"
[[test]]
name = "config-real-ip-header"
path = "tests/config-real-ip-header.rs"
[[test]]
name = "config-secret-key-1500"
path = "tests/config-secret-key-1500.rs"
[[test]]
name = "content-length"
path = "tests/content-length.rs"
[[test]]
name = "cookies-private"
path = "tests/cookies-private.rs"
[[test]]
name = "derive-reexports"
path = "tests/derive-reexports.rs"
[[test]]
name = "deserialize-limits-issue-2268"
path = "tests/deserialize-limits-issue-2268.rs"
[[test]]
name = "encoded-uris"
path = "tests/encoded-uris.rs"
[[test]]
name = "fairing_before_head_strip-issue-546"
path = "tests/fairing_before_head_strip-issue-546.rs"
[[test]]
name = "file_server"
path = "tests/file_server.rs"
[[test]]
name = "flash-lazy-removes-issue-466"
path = "tests/flash-lazy-removes-issue-466.rs"
[[test]]
name = "form-validation-names"
path = "tests/form-validation-names.rs"
[[test]]
name = "form_method-issue-45"
path = "tests/form_method-issue-45.rs"
[[test]]
name = "form_value_decoding-issue-82"
path = "tests/form_value_decoding-issue-82.rs"
[[test]]
name = "form_value_from_encoded_str-issue-1425"
path = "tests/form_value_from_encoded_str-issue-1425.rs"
[[test]]
name = "forward-includes-status-1560"
path = "tests/forward-includes-status-1560.rs"
[[test]]
name = "head_handling"
path = "tests/head_handling.rs"
[[test]]
name = "http_serde"
path = "tests/http_serde.rs"
[[test]]
name = "launch-inspect"
path = "tests/launch-inspect.rs"
[[test]]
name = "limits"
path = "tests/limits.rs"
[[test]]
name = "local-client-access-runtime-in-drop"
path = "tests/local-client-access-runtime-in-drop.rs"
[[test]]
name = "local-client-json"
path = "tests/local-client-json.rs"
[[test]]
name = "local-request-content-type-issue-505"
path = "tests/local-request-content-type-issue-505.rs"
[[test]]
name = "local_request_private_cookie-issue-368"
path = "tests/local_request_private_cookie-issue-368.rs"
[[test]]
name = "many-cookie-jars-at-once"
path = "tests/many-cookie-jars-at-once.rs"
[[test]]
name = "mapped-base-issue-1262"
path = "tests/mapped-base-issue-1262.rs"
[[test]]
name = "mount_point"
path = "tests/mount_point.rs"
[[test]]
name = "msgpack_encoding"
path = "tests/msgpack_encoding.rs"
[[test]]
name = "multipart-limit"
path = "tests/multipart-limit.rs"
[[test]]
name = "nested-fairing-attaches"
path = "tests/nested-fairing-attaches.rs"
[[test]]
name = "on_launch_fairing_can_inspect_port"
path = "tests/on_launch_fairing_can_inspect_port.rs"
[[test]]
name = "panic-handling"
path = "tests/panic-handling.rs"
[[test]]
name = "precise-content-type-matching"
path = "tests/precise-content-type-matching.rs"
[[test]]
name = "raw-strings-multipart-files-1987"
path = "tests/raw-strings-multipart-files-1987.rs"
[[test]]
name = "recursive-singleton-fairing"
path = "tests/recursive-singleton-fairing.rs"
[[test]]
name = "redirect_from_catcher-issue-113"
path = "tests/redirect_from_catcher-issue-113.rs"
[[test]]
name = "replace-content-type-518"
path = "tests/replace-content-type-518.rs"
[[test]]
name = "responder_lifetime-issue-345"
path = "tests/responder_lifetime-issue-345.rs"
[[test]]
name = "route_guard"
path = "tests/route_guard.rs"
[[test]]
name = "scoped-uri"
path = "tests/scoped-uri.rs"
[[test]]
name = "segments-issues-41-86"
path = "tests/segments-issues-41-86.rs"
[[test]]
name = "sentinel"
path = "tests/sentinel.rs"
[[test]]
name = "session-cookies-issue-1506"
path = "tests/session-cookies-issue-1506.rs"
[[test]]
name = "shield"
path = "tests/shield.rs"
[[test]]
name = "shutdown-fairings"
path = "tests/shutdown-fairings.rs"
[[test]]
name = "strict_and_lenient_forms"
path = "tests/strict_and_lenient_forms.rs"
[[test]]
name = "timer-on-attach"
path = "tests/timer-on-attach.rs"
[[test]]
name = "tls-config-from-source-1503"
path = "tests/tls-config-from-source-1503.rs"
[[test]]
name = "twice_managed_state"
path = "tests/twice_managed_state.rs"
[[test]]
name = "typed-uri-docs-redef-issue-1373"
path = "tests/typed-uri-docs-redef-issue-1373.rs"
[[test]]
name = "unsound-local-request-1312"
path = "tests/unsound-local-request-1312.rs"
[[test]]
name = "untracked-vs-tracked"
path = "tests/untracked-vs-tracked.rs"
[[test]]
name = "uri-percent-encoding-issue-808"
path = "tests/uri-percent-encoding-issue-808.rs"
[dependencies.async-stream]
version = "0.3.2"
[dependencies.async-trait]
version = "0.1.43"
[dependencies.binascii]
version = "0.1"
[dependencies.bytes]
version = "1.4"
[dependencies.cookie]
version = "0.18"
features = ["percent-encode"]
[dependencies.either]
version = "1"
[dependencies.figment]
version = "0.10.17"
features = [
"toml",
"env",
]
[dependencies.futures]
version = "0.3.30"
features = ["std"]
default-features = false
[dependencies.http]
version = "1"
[dependencies.hyper]
version = "1.1"
features = [
"http1",
"server",
]
default-features = false
[dependencies.hyper-util]
version = "0.1.3"
features = [
"http1",
"server",
"tokio",
]
default-features = false
[dependencies.indexmap]
version = "2"
features = ["serde"]
[dependencies.memchr]
version = "2"
[dependencies.multer]
version = "3.1.0"
features = ["tokio-io"]
[dependencies.num_cpus]
version = "1.0"
[dependencies.parking_lot]
version = "0.12"
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.rand]
version = "0.9"
[dependencies.ref-cast]
version = "1.0"
[dependencies.ref-swap]
version = "0.1.2"
[dependencies.rkt_codegen]
version = "0.6.0"
[dependencies.rkt_http]
version = "0.6.0"
features = ["serde"]
[dependencies.rmp-serde]
version = "1"
optional = true
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.rustls-pki-types]
version = "1.13"
optional = true
[dependencies.s2n-quic]
version = "1.51"
features = [
"provider-address-token-default",
"provider-tls-rustls",
]
optional = true
default-features = false
[dependencies.s2n-quic-h3]
version = "0.1.0"
optional = true
package = "s2n-quic-h3-community"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.26"
optional = true
[dependencies.state]
version = "0.6"
[dependencies.tempfile]
version = "3"
[dependencies.thread_local]
version = "1.1"
optional = true
[dependencies.time]
version = "0.3"
features = [
"macros",
"parsing",
]
[dependencies.tinyvec]
version = "1.6"
features = [
"std",
"rustc_1_57",
]
optional = true
[dependencies.tokio]
version = "1.35.1"
features = [
"rt-multi-thread",
"net",
"io-util",
"fs",
"time",
"sync",
"signal",
"parking_lot",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"tls12",
"ring",
]
optional = true
default-features = false
[dependencies.tokio-stream]
version = "0.1.6"
features = [
"signal",
"time",
]
[dependencies.tokio-util]
version = "0.7"
features = ["io"]
default-features = false
[dependencies.tracing]
version = "0.1.40"
features = [
"std",
"attributes",
]
default-features = false
[dependencies.tracing-subscriber]
version = "0.3.18"
features = [
"fmt",
"tracing-log",
"parking_lot",
]
optional = true
default-features = false
[dependencies.ubyte]
version = "0.10.2"
features = ["serde"]
[dependencies.uuid_]
version = "1"
features = ["serde"]
optional = true
package = "uuid"
[dependencies.x509-parser]
version = "0.16"
optional = true
[dependencies.yansi]
version = "1.0.1"
features = ["detect-tty"]
[dev-dependencies.figment]
version = "0.10.17"
features = ["test"]
[dev-dependencies.pretty_assertions]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"io-std",
]
[build-dependencies.version_check]
version = "0.9.1"
[target."cfg(unix)".dependencies.libc]
version = "0.2.149"
[lints.clippy]
manual_range_contains = "allow"
module_inception = "allow"
multiple_bound_locations = "allow"
needless_borrow = "allow"
result_large_err = "allow"
type_complexity = "allow"
[lints.rust]
async_fn_in_trait = "allow"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(nightly)"]