Integrating with Hyper

Hyper is a fast HTTP implementation that many other Rust web frameworks leverage. It offers asynchronous I/O via the tokio runtime and works on Rust's stable channel.

Hyper is not a higher-level web framework and accordingly does not include ergonomic features such as simple endpoint routing, baked-in HTTP responses, or reusable middleware. For GraphQL, those aren't large downsides as all POSTs and GETs usually go through a single endpoint with a few clearly-defined response payloads.

Juniper's Hyper integration is contained in the juniper_hyper crate:

!FILENAME Cargo.toml

[dependencies]
juniper = "0.16.0"
juniper_hyper = "0.9.0"

Included in the source is a small example which sets up a basic GraphQL and GraphiQL handler.