# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" rust-version = "1.76.0" name = "apollo-router" version = "1.59.0-rc.0" authors = ["Apollo Graph, Inc. "] build = "build/main.rs" description = "A configurable, high-performance routing runtime for Apollo Federation 🚀" documentation = "https://docs.rs/apollo-router" readme = "README.md" license = "Elastic-2.0" repository = "https://github.com/apollographql/router/" [package.metadata.cargo-machete] ignored = [ "rowan", "aws-sdk-sso", "aws-sdk-ssooidc", "aws-sdk-sts", ] [package.metadata.docs.rs] features = ["docs_rs"] [lib] doctest = false [[bin]] name = "router" path = "src/main.rs" test = false [[example]] name = "planner" [[test]] name = "integration_tests" path = "tests/integration_tests.rs" [[test]] name = "samples" path = "tests/samples_tests.rs" harness = false [[bench]] name = "huge_requests" harness = false [[bench]] name = "deeply_nested" harness = false [dependencies.access-json] version = "0.1.0" [dependencies.ahash] version = "0.8.11" [dependencies.anyhow] version = "1.0.86" [dependencies.apollo-compiler] version = "=1.0.0-beta.24" [dependencies.apollo-environment-detector] version = "0.1.0" [dependencies.apollo-federation] version = "=1.59.0-rc.0" [dependencies.arc-swap] version = "1.6.0" [dependencies.async-channel] version = "1.9.0" [dependencies.async-compression] version = "0.4.6" features = [ "tokio", "brotli", "gzip", "deflate", ] [dependencies.async-trait] version = "0.1.77" [dependencies.aws-config] version = "1.1.6" [dependencies.aws-credential-types] version = "1.1.6" [dependencies.aws-sdk-sso] version = "=1.39.0" [dependencies.aws-sdk-ssooidc] version = "=1.40.0" [dependencies.aws-sdk-sts] version = "=1.39.0" [dependencies.aws-sigv4] version = "1.1.6" [dependencies.aws-smithy-runtime-api] version = "1.1.6" features = ["client"] [dependencies.aws-types] version = "1.1.6" [dependencies.axum] version = "0.6.20" features = [ "headers", "json", "original-uri", ] [dependencies.base64] version = "0.22.0" [dependencies.bloomfilter] version = "1.0.13" [dependencies.brotli] version = "3.5.0" [dependencies.buildstructor] version = "0.5.4" [dependencies.bytes] version = "1.6.0" [dependencies.bytesize] version = "1.3.0" features = ["serde"] [dependencies.ci_info] version = "0.14.14" features = ["serde-1"] [dependencies.clap] version = "4.5.8" features = [ "env", "derive", "std", "help", ] default-features = false [dependencies.console] version = "0.15.8" [dependencies.cookie] version = "0.18.0" default-features = false [dependencies.crossbeam-channel] version = "0.5" [dependencies.dashmap] version = "5.5.3" features = ["serde"] [dependencies.derivative] version = "2.2.0" [dependencies.derive_more] version = "0.99.17" features = [ "from", "display", ] default-features = false [dependencies.dhat] version = "0.3.3" optional = true [dependencies.diff] version = "0.1.13" [dependencies.displaydoc] version = "0.2" [dependencies.flate2] version = "1.0.30" [dependencies.fred] version = "7.1.2" features = ["enable-rustls"] [dependencies.futures] version = "0.3.30" features = ["thread-pool"] [dependencies.graphql_client] version = "0.14.0" [dependencies.heck] version = "0.5.0" [dependencies.hex] version = "0.4.3" features = ["serde"] [dependencies.hickory-resolver] version = "0.24.1" [dependencies.hmac] version = "0.12.1" [dependencies.http] version = "0.2.11" [dependencies.http-body] version = "0.4.6" [dependencies.http-serde] version = "1.1.3" [dependencies.humantime] version = "2.1.0" [dependencies.humantime-serde] version = "1.1.1" [dependencies.hyper] version = "0.14.31" features = [ "server", "client", "stream", ] [dependencies.hyper-rustls] version = "0.24.2" features = [ "http1", "http2", ] [dependencies.indexmap] version = "2.2.6" features = ["serde"] [dependencies.itertools] version = "0.13.0" [dependencies.itoa] version = "1.0.9" [dependencies.jsonpath-rust] version = "0.3.5" [dependencies.jsonpath_lib] version = "0.3.0" [dependencies.jsonschema] version = "0.17.1" default-features = false [dependencies.jsonwebtoken] version = "9.3.0" [dependencies.lazy_static] version = "1.4.0" [dependencies.libc] version = "0.2.155" [dependencies.linkme] version = "0.3.27" [dependencies.lru] version = "0.12.3" [dependencies.maplit] version = "1.0.2" [dependencies.mediatype] version = "0.19.18" [dependencies.memchr] version = "2.7.4" [dependencies.mime] version = "0.3.17" [dependencies.mockall] version = "0.13.0" [dependencies.multer] version = "2.1.0" [dependencies.multimap] version = "0.9.1" [dependencies.notify] version = "6.1.1" features = ["macos_kqueue"] default-features = false [dependencies.nu-ansi-term] version = "0.50" [dependencies.num-traits] version = "0.2.19" [dependencies.once_cell] version = "1.19.0" [dependencies.opentelemetry] version = "0.20.0" features = [ "trace", "metrics", ] [dependencies.opentelemetry-aws] version = "0.8.0" [dependencies.opentelemetry-http] version = "0.9.0" [dependencies.opentelemetry-jaeger] version = "0.19.0" features = [ "collector_client", "reqwest_collector_client", "rt-tokio", ] [dependencies.opentelemetry-otlp] version = "0.13.0" features = [ "grpc-tonic", "gzip-tonic", "tonic", "tls", "http-proto", "metrics", "reqwest-client", "trace", ] default-features = false [dependencies.opentelemetry-prometheus] version = "0.13.0" [dependencies.opentelemetry-semantic-conventions] version = "0.12.0" [dependencies.opentelemetry-zipkin] version = "0.18.0" features = [ "reqwest-client", "reqwest-rustls", ] default-features = false [dependencies.opentelemetry_api] version = "0.20.0" [dependencies.opentelemetry_sdk] version = "0.20.0" features = ["trace"] default-features = false [dependencies.parking_lot] version = "0.12.3" features = ["serde"] [dependencies.paste] version = "1.0.15" [dependencies.pin-project-lite] version = "0.2.14" [dependencies.prometheus] version = "0.13" [dependencies.prost] version = "0.12.6" [dependencies.prost-types] version = "0.12.6" [dependencies.proteus] version = "0.5.0" [dependencies.rand] version = "0.8.5" [dependencies.regex] version = "1.10.5" [dependencies.reqwest] version = "0.11.0" features = [ "rustls-tls", "rustls-native-certs", "gzip", "json", "stream", ] default-features = false [dependencies.rhai] version = "1.19.0" features = [ "sync", "serde", "internals", ] [dependencies.rmp] version = "0.8" [dependencies.router-bridge] version = "=0.6.4+v2.9.3" [dependencies.rowan] version = "=0.15.15" [dependencies.rust-embed] version = "8.4.0" features = ["include-exclude"] [dependencies.rustls] version = "0.21.12" [dependencies.rustls-native-certs] version = "0.6.3" [dependencies.rustls-pemfile] version = "1.0.4" [dependencies.ryu] version = "1.0.15" [dependencies.schemars] version = "0.8.16" features = ["url"] [dependencies.semver] version = "1.0.23" [dependencies.serde] version = "1.0.197" features = [ "derive", "rc", ] [dependencies.serde_derive_default] version = "0.1" [dependencies.serde_json] version = "1.0.114" features = [ "preserve_order", "float_roundtrip", ] [dependencies.serde_json_bytes] version = "0.2.4" features = ["preserve_order"] [dependencies.serde_urlencoded] version = "0.7.1" [dependencies.serde_yaml] version = "0.8.26" [dependencies.sha1] version = "0.10.6" [dependencies.sha2] version = "0.10.8" [dependencies.shellexpand] version = "3.1.0" [dependencies.similar] version = "2.5.0" features = ["inline"] [dependencies.static_assertions] version = "1.1.0" [dependencies.strum_macros] version = "0.26.0" [dependencies.sys-info] version = "0.9.1" [dependencies.sysinfo] version = "0.32.0" features = ["windows"] [dependencies.thiserror] version = "1.0.61" [dependencies.time] version = "0.3.36" features = ["serde"] [dependencies.tokio] version = "1.36.0" features = ["full"] [dependencies.tokio-rustls] version = "0.24.1" [dependencies.tokio-stream] version = "0.1.15" features = [ "sync", "net", ] [dependencies.tokio-tungstenite] version = "0.20.1" features = ["rustls-tls-native-roots"] [dependencies.tokio-util] version = "0.7.11" features = [ "net", "codec", "time", ] [dependencies.tonic] version = "0.9.2" features = [ "transport", "tls", "tls-roots", "gzip", ] [dependencies.tower] version = "0.4.13" features = ["full"] [dependencies.tower-http] version = "0.4.0" features = [ "add-extension", "trace", "cors", "compression-br", "compression-deflate", "compression-gzip", "decompression-br", "decompression-deflate", "decompression-gzip", "timeout", ] [dependencies.tower-service] version = "0.3.2" [dependencies.tracing] version = "0.1.40" [dependencies.tracing-core] version = "0.1.32" [dependencies.tracing-futures] version = "0.2.5" features = ["futures-03"] [dependencies.tracing-serde] version = "0.1.3" [dependencies.tracing-subscriber] version = "0.3.18" features = [ "env-filter", "json", ] [dependencies.url] version = "2.5.4" features = ["serde"] [dependencies.urlencoding] version = "2.1.3" [dependencies.uuid] version = "1.9.1" features = [ "serde", "v4", ] [dependencies.wiremock] version = "0.5.22" [dependencies.wsl] version = "0.1.0" [dependencies.yaml-rust] version = "0.4.5" [dependencies.zstd] version = "0.13.1" [dependencies.zstd-safe] version = "7.1.0" [dev-dependencies.axum] version = "0.6.20" features = [ "headers", "json", "original-uri", "ws", ] [dev-dependencies.basic-toml] version = "0.1.9" [dev-dependencies.ecdsa] version = "0.16.9" features = [ "signing", "pem", "pkcs8", ] [dev-dependencies.fred] version = "7.1.2" features = [ "enable-rustls", "mocks", ] [dev-dependencies.futures-test] version = "0.3.30" [dev-dependencies.insta] version = "1.38.0" features = [ "json", "redactions", "yaml", ] [dev-dependencies.libtest-mimic] version = "0.7.3" [dev-dependencies.maplit] version = "1.0.2" [dev-dependencies.memchr] version = "2.7.4" default-features = false [dev-dependencies.mockall] version = "0.13.0" [dev-dependencies.num-traits] version = "0.2.19" [dev-dependencies.once_cell] version = "1.19.0" [dev-dependencies.opentelemetry] version = "0.20.0" features = ["testing"] [dev-dependencies.opentelemetry-datadog] version = "0.8.0" features = ["reqwest-client"] [dev-dependencies.opentelemetry-proto] version = "0.5.0" features = [ "metrics", "trace", "gen-tonic-messages", "with-serde", ] [dev-dependencies.opentelemetry-stdout] version = "0.1.0" features = ["trace"] [dev-dependencies.p256] version = "0.13.2" [dev-dependencies.rand_core] version = "0.6.4" [dev-dependencies.reqwest] version = "0.11.0" features = [ "json", "multipart", "stream", ] default-features = false [dev-dependencies.rhai] version = "1.17.1" features = [ "sync", "serde", "internals", "testing-environ", ] [dev-dependencies.serial_test] version = "3.1.1" [dev-dependencies.tempfile] version = "3.10.1" [dev-dependencies.test-log] version = "0.2.16" features = ["trace"] default-features = false [dev-dependencies.tower-test] version = "0.4.0" [dev-dependencies.tracing-opentelemetry] version = "0.21.0" [dev-dependencies.tracing-subscriber] version = "0.3.18" features = [ "env-filter", "fmt", ] default-features = false [dev-dependencies.tracing-test] version = "0.2.5" [dev-dependencies.walkdir] version = "2.5.0" [dev-dependencies.wiremock] version = "0.5.22" [build-dependencies.basic-toml] version = "0.1.9" [build-dependencies.serde_json] version = "1.0.114" features = [ "preserve_order", "float_roundtrip", ] [build-dependencies.tonic-build] version = "0.9.2" [features] ci = [] default = ["global-allocator"] dhat-ad-hoc = ["dhat"] dhat-heap = ["dhat"] docs_rs = ["router-bridge/docs_rs"] failfast = [] global-allocator = [] hyper_header_limits = [] telemetry_next = [] [target."cfg(macos)".dependencies.uname] version = "0.1.1" [target."cfg(target_os = \"linux\")".dependencies.tikv-jemallocator] version = "0.6.0" [target."cfg(target_os = \"linux\")".dev-dependencies.rstack] version = "0.3.3" features = ["dw"] default-features = false [target."cfg(unix)".dependencies.hyperlocal] version = "0.8.0" features = ["client"] default-features = false [target."cfg(unix)".dependencies.uname] version = "0.1.1" [target."cfg(unix)".dev-dependencies.hyperlocal] version = "0.8.0" features = [ "client", "server", ] default-features = false