[[bench]]
harness = false
name = "decode"
path = "benches/decode.rs"
[dependencies.async-trait]
optional = true
version = "0.1.13"
[dependencies.axum]
default-features = false
optional = true
version = "0.8"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.0"
[dependencies.flate2]
optional = true
version = "1.0"
[dependencies.h2]
optional = true
version = "0.4"
[dependencies.http]
version = "1"
[dependencies.http-body]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
features = ["http1", "http2"]
optional = true
version = "1"
[dependencies.hyper-timeout]
optional = true
version = "0.5"
[dependencies.hyper-util]
features = ["tokio"]
optional = true
version = "0.1.4"
[dependencies.percent-encoding]
version = "2.1"
[dependencies.pin-project]
version = "1.0.11"
[dependencies.rustls-native-certs]
optional = true
version = "0.8"
[dependencies.socket2]
features = ["all"]
optional = true
version = "0.6"
[dependencies.sync_wrapper]
version = "1.0.2"
[dependencies.tokio]
default-features = false
optional = true
version = "1"
[dependencies.tokio-rustls]
default-features = false
features = ["logging", "tls12"]
optional = true
version = "0.26.1"
[dependencies.tokio-stream]
default-features = false
version = "0.1.16"
[dependencies.tower]
default-features = false
optional = true
version = "0.5"
[dependencies.tower-layer]
version = "0.3"
[dependencies.tower-service]
version = "0.3"
[dependencies.tracing]
version = "0.1"
[dependencies.webpki-roots]
optional = true
version = "1"
[dependencies.zstd]
optional = true
version = "0.13.0"
[dev-dependencies.bencher]
version = "0.1.5"
[dev-dependencies.quickcheck]
version = "1.0"
[dev-dependencies.quickcheck_macros]
version = "1.0"
[dev-dependencies.static_assertions]
version = "1.0"
[dev-dependencies.tokio]
features = ["rt-multi-thread", "macros"]
version = "1.0"
[dev-dependencies.tower]
features = ["load-shed", "timeout"]
version = "0.5"
[features]
_tls-any = ["dep:tokio-rustls", "dep:tokio", "tokio?/rt", "tokio?/macros"]
channel = ["dep:hyper", "hyper?/client", "dep:hyper-util", "hyper-util?/client-legacy", "dep:tower", "tower?/balance", "tower?/buffer", "tower?/discover", "tower?/limit", "tower?/load-shed", "tower?/util", "dep:tokio", "tokio?/time", "dep:hyper-timeout"]
codegen = ["dep:async-trait"]
default = ["router", "transport", "codegen"]
deflate = ["dep:flate2"]
gzip = ["dep:flate2"]
router = ["dep:axum", "dep:tower", "tower?/util"]
server = ["dep:h2", "dep:hyper", "hyper?/server", "dep:hyper-util", "hyper-util?/service", "hyper-util?/server-auto", "dep:socket2", "dep:tokio", "tokio?/macros", "tokio?/net", "tokio?/time", "tokio-stream/net", "dep:tower", "tower?/util", "tower?/limit", "tower?/load-shed"]
tls-aws-lc = ["_tls-any", "tokio-rustls/aws-lc-rs"]
tls-native-roots = ["_tls-any", "channel", "dep:rustls-native-certs"]
tls-ring = ["_tls-any", "tokio-rustls/ring"]
tls-webpki-roots = ["_tls-any", "channel", "dep:webpki-roots"]
transport = ["server", "channel"]
zstd = ["dep:zstd"]
[lib]
name = "tonic"
path = "src/lib.rs"
[lints.clippy]
uninlined_format_args = "deny"
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
rust_2018_idioms = "warn"
unreachable_pub = "warn"
[lints.rustdoc]
broken_intra_doc_links = "deny"
[package]
authors = ["Lucio Franco <luciofranco14@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["web-programming", "network-programming", "asynchronous"]
description = """
A gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility.
"""
edition = "2021"
exclude = ["benches-disabled"]
homepage = "https://github.com/hyperium/tonic"
keywords = ["rpc", "grpc", "async", "futures", "protobuf"]
license = "MIT"
name = "tonic"
readme = "README.md"
repository = "https://github.com/hyperium/tonic"
rust-version = "1.86"
version = "0.14.0"
[package.metadata.cargo_check_external_types]
allowed_external_types = ["bytes::*", "tokio::*", "http::*", "http_body::*", "hyper::*", "rustls_pki_types::*", "prost::*", "tracing::*", "async_trait::async_trait", "axum_core::body::Body", "axum_core::response::into_response::IntoResponse", "axum::routing::Router", "futures_core::stream::Stream", "h2::error::Error", "tower_service::Service", "tower_layer::Layer", "tower_layer::stack::Stack", "tower_layer::identity::Identity"]
[package.metadata.docs.rs]
all-features = true