async-graphql/Cargo.toml
Patrick Fernie 5f25b296b0 Add graphql-ws feature for subprotcol selection
On 2020-09-14 a revised version of the [GraphQL over
WebSocket](https://the-guild.dev/blog/graphql-over-websockets) spec was
released as [graphql-ws](https://github.com/enisdenjo/graphql-ws), which
differs from the de facto standard implemented by
[subscriptions-transport-ws](https://github.com/apollographql/subscriptions-transport-ws).

This adds a new `cargo` (non-default) feature, `graphql_ws`, which when enabled utilizes the new protocol spec.

Original [subscriptions-transport-ws
protocol](https://github.com/apollographql/subscriptions-transport-ws/blob/master/PROTOCOL.md)
Revised [graphql-ws
protocol](https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md)
2020-12-02 08:13:00 -05:00

96 lines
2.7 KiB
TOML

[package]
name = "async-graphql"
version = "2.1.4"
authors = ["sunli <scott_s829@163.com>", "Koxiaet"]
edition = "2018"
description = "A GraphQL server library implemented in Rust"
license = "MIT/Apache-2.0"
documentation = "https://docs.rs/async-graphql/"
homepage = "https://github.com/async-graphql/async-graphql"
repository = "https://github.com/async-graphql/async-graphql"
keywords = ["futures", "async", "graphql"]
categories = ["network-programming", "asynchronous"]
readme = "README.md"
[features]
default = [
"apollo_persisted_queries",
"apollo_tracing",
"bson",
"chrono",
"chrono-tz",
"log",
"multipart",
"string_number",
"tracing",
"unblock",
"url",
"uuid",
]
apollo_tracing = ["chrono"]
apollo_persisted_queries = ["async-mutex", "lru", "sha2"]
multipart = ["bytes", "multer", "tempfile"]
unblock = ["blocking"]
string_number = ["num-traits"]
# Used for doc(cfg())
nightly = []
# To enable the use of [graphql-ws spec](https://github.com/enisdenjo/graphql-ws)
graphql_ws = []
[dependencies]
async-graphql-derive = { path = "derive", version = "=2.1.4" }
async-graphql-value = { path = "value", version = "=2.0.5" }
async-graphql-parser = { path = "parser", version = "=2.1.2" }
async-stream = "0.3"
async-trait = "0.1.41"
fnv = "1.0.6"
futures-util = { version = "0.3.6", default-features = false, features = ["io"] }
indexmap = "1.6.0"
once_cell = "1.3.1"
pin-project-lite = "0.1.10"
regex = "1.4.1"
serde = { version = "1.0.117", features = ["derive"] }
serde_json = "1.0.48"
spin = "0.6.0"
thiserror = "1.0.21"
static_assertions = "1.1.0"
# Feature optional dependencies
bson = { version = "1.0.0", optional = true }
chrono = { version = "0.4.15", optional = true }
chrono-tz = { version = "0.5.1", optional = true }
log = { version = "0.4.11", optional = true }
tracing = { version = "0.1.21", optional = true }
url = { version = "2.1.1", optional = true }
uuid = { version = "0.8.1", optional = true, features = ["v4", "serde"] }
# Non-feature optional dependencies
async-mutex = { version = "1.4.0", optional = true }
blocking = { version = "1.0.0", optional = true }
bytes = { version = "0.5.4", optional = true }
lru = { version = "0.6.0", optional = true }
multer = { version = "1.2.2", optional = true }
num-traits = { version = "0.2.12", optional = true }
sha2 = { version = "0.9.1", optional = true }
tempfile = { version = "3.1.0", optional = true }
[dev-dependencies]
async-std = { version = "1.6.5", features = ["attributes"] }
async-channel = "1.5.1"
[package.metadata.docs.rs]
features = ["nightly"]
[workspace]
members = [
"value",
"parser",
"derive",
"integrations/actix-web",
"integrations/rocket",
"integrations/tide",
"integrations/warp",
"benchmark",
]