ranvier-http 0.33.0

HTTP Ingress adapter for Ranvier - Hyper 1.0 native Service implementation
Documentation
[package]

name = "ranvier-http"

authors.workspace = true

license.workspace = true

repository.workspace = true

homepage.workspace = true

version.workspace = true

edition.workspace = true

rust-version.workspace = true

description = "HTTP Ingress adapter for Ranvier - Hyper 1.0 native Service implementation"



[features]

default = []

validation = ["dep:validator"]

multer = ["dep:multer"]

tls = ["dep:rustls", "dep:rustls-pemfile", "dep:tokio-rustls"]

http3 = ["dep:quinn", "dep:h3", "dep:h3-quinn", "dep:rustls", "dep:rustls-pemfile", "dep:tokio-rustls", "dep:rcgen"]

[dependencies]

# Internal

ranvier-core = { workspace = true }

ranvier-runtime = { workspace = true }



# Async

tokio = { workspace = true }

async-trait = { workspace = true }

futures-util = { workspace = true }

tokio-tungstenite = "0.24"



# HTTP Stack (Hyper 1.0 native — no tower/tower-http)

hyper = { workspace = true }

hyper-util = { workspace = true }

matchit = { workspace = true }

http = { workspace = true }

http-body = "1"

http-body-util = { workspace = true }

bytes = { workspace = true }

flate2 = "1"



# Utilities

thiserror = { workspace = true }

tracing = { workspace = true }

uuid = { workspace = true }

serde = { workspace = true }

serde_json = { workspace = true }

serde_urlencoded = "0.7"

validator = { version = "0.20", features = ["derive"], optional = true }

base64 = "0.22"

sha1 = "0.10"

async-stream = "0.3.6"

multer = { version = "3.1.0", optional = true }

quinn = { version = "0.11", optional = true }

h3 = { version = "0.0.8", optional = true }

h3-quinn = { version = "0.0.10", optional = true }

rustls = { version = "0.23", optional = true }

rustls-pemfile = { version = "2.1", optional = true }

tokio-rustls = { version = "0.26", optional = true }

rcgen = { version = "0.13", optional = true }



[dev-dependencies]

tempfile = "3.14"



# Gate broken examples behind non-existent feature to prevent default compilation

[[example]]

name = "large_api_demo"

required-features = ["_route_group"]



[lints]

workspace = true