[package]
name = "juniper_warp"
version = "0.8.0-dev"
edition = "2021"
rust-version = "1.73"
description = "`juniper` GraphQL integration with `warp`."
license = "BSD-2-Clause"
authors = [
    "Tom Houlé <tom@tomhoule.com>",
    "Kai Ren <tyranron@gmail.com>",
]
documentation = "https://docs.rs/juniper_warp"
homepage = "https://github.com/graphql-rust/juniper/tree/master/juniper_warp"
repository = "https://github.com/graphql-rust/juniper"
readme = "README.md"
categories = ["asynchronous", "web-programming", "web-programming::http-server"]
keywords = ["apollo", "graphql", "juniper", "warp", "websocket"]
include = ["/examples/", "/src/", "/CHANGELOG.md", "/LICENSE", "/README.md"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[features]
subscriptions = [
    "dep:futures",
    "dep:juniper_graphql_ws",
    "dep:log",
    "warp/websocket",
]

[dependencies]
futures = { version = "0.3.22", optional = true }
juniper = { version = "0.16.0", path = "../juniper", default-features = false }
juniper_graphql_ws = { version = "0.4.0-dev", path = "../juniper_graphql_ws", features = ["graphql-transport-ws", "graphql-ws"], optional = true }
log = { version = "0.4", optional = true }
serde = { version = "1.0.122", features = ["derive"] }
serde_json = "1.0.18"
thiserror = "1.0"
tokio = { version = "1.0", features = ["rt"] }
warp = { version = "0.3.2", default-features = false }

# Fixes for `minimal-versions` check.
# TODO: Try remove on upgrade of `warp` crate.
headers = "0.3.8"

[dev-dependencies]
async-stream = "0.3"
env_logger = "0.11"
futures = "0.3.22"
juniper = { version = "0.16.0", path = "../juniper", features = ["expose-test-schema"] }
log = "0.4"
percent-encoding = "2.1"
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
url = "2.0"

[[example]]
name = "subscription"
required-features = ["subscriptions"]