[package]
edition = "2021"
name = "hive-router"
version = "0.2.2"
authors = ["The Guild"]
build = "build.rs"
exclude = ["node_modules"]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "hive_router"
description = "GraphQL router for Federation, part of the Hive platform"
homepage = "https://the-guild.dev/graphql/hive/docs/router"
readme = "README.crate.md"
license = "MIT"
repository = "https://github.com/graphql-hive/router"
[features]
graphiql = []
noop_otlp_exporter = []
testing = []
[lib]
name = "hive_router"
path = "src/lib.rs"
[[bin]]
name = "config_schema_generator"
path = "src/config/config_schema_generator.rs"
[[bin]]
name = "hive_router"
path = "src/main.rs"
[[bench]]
name = "coprocessor_benches"
path = "benches/coprocessor_benches.rs"
harness = false
[[bench]]
name = "demand_control_benches"
path = "benches/demand_control_benches.rs"
harness = false
[[bench]]
name = "executor_benches"
path = "benches/executor_benches.rs"
harness = false
[[bench]]
name = "persisted_documents_matcher_benches"
path = "benches/persisted_documents_matcher_benches.rs"
harness = false
[[bench]]
name = "qp_benches"
path = "benches/qp_benches.rs"
harness = false
[[bench]]
name = "raw_result"
path = "benches/raw_result.rs"
[[bench]]
name = "router_benches"
path = "benches/router_benches.rs"
harness = false
required-features = ["testing"]
[dependencies.ahash]
version = "0.8.12"
[dependencies.anyhow]
version = "1.0.100"
[dependencies.arc-swap]
version = "1.7.1"
[dependencies.async-stream]
version = "0.3.6"
[dependencies.async-trait]
version = "0.1.88"
[dependencies.bitflags]
version = "2.12.1"
[dependencies.brotli]
version = "8.0.3"
[dependencies.bumpalo]
version = "3.20.3"
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4.45"
[dependencies.combine]
version = "4.6.6"
[dependencies.config_rs]
version = "0.15.23"
features = [
"yaml",
"json",
"json5",
]
package = "config"
[dependencies.const-str]
version = "1.0.0"
[dependencies.cookie]
version = "0.18.1"
[dependencies.dashmap]
version = "6.2.1"
[dependencies.envconfig]
version = "0.11.0"
[dependencies.flate2]
version = "1.1.9"
features = ["zlib-rs"]
default-features = false
[dependencies.futures]
version = "0.3.31"
[dependencies.futures-timer]
version = "3.0.4"
[dependencies.futures-util]
version = "0.3.31"
[dependencies.graphql-tools]
version = "0.5.8"
[dependencies.headers-accept]
version = "0.3.0"
[dependencies.hive-console-sdk]
version = "0.3.21"
[dependencies.http]
version = "1.5.0"
[dependencies.http-body-util]
version = "0.1.3"
[dependencies.http-serde]
version = "2.1.1"
[dependencies.human-size]
version = "0.4.3"
features = ["serde"]
[dependencies.humantime]
version = "2.3.0"
[dependencies.humantime-serde]
version = "1.1.1"
[dependencies.hyper]
version = "1.10.1"
features = [
"server",
"http1",
"client",
]
[dependencies.hyper-rustls]
version = "0.27.7"
features = [
"http1",
"http2",
"aws-lc-rs",
]
[dependencies.hyper-util]
version = "0.1.16"
features = [
"client",
"client-legacy",
"http1",
"http2",
"tokio",
]
[dependencies.hyperlocal]
version = "0.9.1"
[dependencies.indexmap]
version = "2.10.0"
[dependencies.insta]
version = "1.42.1"
features = [
"filters",
"json",
"redactions",
]
[dependencies.ipnet]
version = "2.12.0"
[dependencies.itoa]
version = "1.0.15"
[dependencies.jsonwebtoken]
version = "11.0.0"
features = ["rust_crypto"]
[dependencies.lasso2]
version = "0.8.2"
[dependencies.lazy-init]
version = "0.5.1"
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.matchit]
version = "0.9.2"
[dependencies.md5]
version = "0.8.0"
[dependencies.mediatype]
version = "0.21.0"
[dependencies.memchr]
version = "2.8.1"
[dependencies.mimalloc]
version = "0.1.48"
features = ["v3"]
[dependencies.moka]
version = "0.12.11"
features = [
"future",
"sync",
]
[dependencies.notify]
version = "8.2.0"
[dependencies.ntex]
version = "=3.12.3"
features = [
"tokio",
"rustls",
]
[dependencies.ntex-bytes]
version = "=1.9.0"
[dependencies.ntex-codec]
version = "=1.2.1"
[dependencies.ntex-dispatcher]
version = "=3.2.1"
[dependencies.ntex-error]
version = "=2.4.0"
[dependencies.ntex-h2]
version = "=3.13.0"
[dependencies.ntex-http]
version = "=1.2.0"
[dependencies.ntex-httparse]
version = "=2.1.0"
[dependencies.ntex-io]
version = "=3.13.1"
[dependencies.ntex-macros]
version = "=3.5.0"
[dependencies.ntex-net]
version = "=3.14.1"
[dependencies.ntex-router]
version = "=1.0.0"
[dependencies.ntex-rt]
version = "=3.16.1"
[dependencies.ntex-server]
version = "=3.10.4"
[dependencies.ntex-service]
version = "=4.6.0"
[dependencies.ntex-tls]
version = "=3.8.0"
[dependencies.ntex-util]
version = "=3.6.1"
[dependencies.object_store]
version = "0.13.2"
features = ["aws"]
[dependencies.once_cell]
version = "1.21.3"
[dependencies.opentelemetry]
version = "0.32.0"
features = ["trace"]
[dependencies.opentelemetry-appender-tracing]
version = "0.32.0"
[dependencies.opentelemetry-jaeger-propagator]
version = "0.32.0"
[dependencies.opentelemetry-otlp]
version = "0.32.0"
features = [
"reqwest-client",
"reqwest-rustls",
"http-proto",
"internal-logs",
"logs",
"metrics",
"trace",
"grpc-tonic",
"http-proto",
"logs",
"tls",
"tonic",
"trace",
"metrics",
]
default-features = false
[dependencies.opentelemetry-prometheus]
version = "0.32.0"
[dependencies.opentelemetry-stdout]
version = "0.32.0"
features = [
"trace",
"metrics",
"logs",
]
[dependencies.opentelemetry-zipkin]
version = "0.32.0"
features = [
"reqwest-rustls",
"reqwest-client",
]
default-features = false
[dependencies.opentelemetry_sdk]
version = "0.32.1"
features = [
"rt-tokio-current-thread",
"logs",
"spec_unstable_metrics_views",
"experimental_metrics_periodicreader_with_async_runtime",
"experimental_trace_batch_span_processor_with_async_runtime",
]
[dependencies.percent-encoding]
version = "2.3.2"
[dependencies.petgraph]
version = "0.8.2"
[dependencies.prometheus]
version = "0.14.0"
[dependencies.rand]
version = "0.10.1"
[dependencies.recloser]
version = "1.3.1"
[dependencies.regex-automata]
version = "0.4.10"
[dependencies.reqwest]
version = "0.12.23"
features = [
"http2",
"rustls-tls",
]
default-features = false
[dependencies.reqwest-middleware]
version = "0.4.2"
[dependencies.reqwest-retry]
version = "0.8.0"
[dependencies.retry-policies]
version = "0.5.2"
[dependencies.rustc-hash]
version = "2.1.1"
[dependencies.rustls]
version = "0.23.40"
features = ["aws-lc-rs"]
default-features = false
[dependencies.ryu]
version = "1.0.20"
[dependencies.schemars]
version = "1.0.4"
features = ["url2"]
[dependencies.serde]
version = "1.0.219"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.150"
[dependencies.sonic-rs]
version = "0.5.3"
[dependencies.sonic-simd]
version = "0.1.2"
[dependencies.strum]
version = "0.28.0"
features = ["derive"]
[dependencies.thiserror]
version = "2.0.14"
[dependencies.tokio]
version = "1.52.3"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1.18"
[dependencies.tokio-util]
version = "0.7.16"
[dependencies.tonic]
version = "0.14.6"
features = ["tls-aws-lc"]
[dependencies.tracing]
version = "0.1.44"
features = [
"release_max_level_debug",
"max_level_trace",
]
[dependencies.tracing-appender]
version = "0.2.5"
[dependencies.tracing-opentelemetry]
version = "0.33.0"
[dependencies.tracing-subscriber]
version = "0.3.22"
features = [
"env-filter",
"time",
"json",
]
[dependencies.ulid]
version = "3.0.0"
[dependencies.url]
version = "2.5.8"
features = ["serde"]
[dependencies.uuid]
version = "1.24.0"
features = [
"v4",
"v7",
"fast-rng",
]
[dependencies.vrl]
version = "0.33.1"
features = [
"compiler",
"parser",
"value",
"diagnostic",
"stdlib",
"core",
]
[dependencies.xxhash-rust]
version = "0.8.15"
features = ["xxh3"]
[dev-dependencies.criterion]
version = "0.8"
features = [
"html_reports",
"async_tokio",
]
[dev-dependencies.insta]
version = "1.42.1"
features = [
"filters",
"json",
"redactions",
]
[dev-dependencies.mockito]
version = "1.7.0"
[dev-dependencies.opentelemetry_sdk]
version = "0.32.1"
features = ["testing"]
[dev-dependencies.tracing-tree]
version = "0.4.0"