juniper/juniper_actix
Benno Tielen 761710205a
Provide axum integration (#1088, #986, #1184)
- create `juniper_axum` crate in Cargo workspace
- implement `graphql` default `axum` handler for processing GraphQL requests
- implement `extract::JuniperRequest` and `response::JuniperResponse` for custom processing GraphQL requests
- implement `subscriptions::graphql_transport_ws()` default `axum` handler for processing the new `graphql-transport-ws` GraphQL over WebSocket Protocol
- implement `subscriptions::graphql_ws()` default `axum` handler for processing the legacy `graphql-ws` GraphQL over WebSocket Protocol
- implement `subscriptions::serve_graphql_transport_ws()` function for custom processing the new `graphql-transport-ws` GraphQL over WebSocket Protocol
- implement `subscriptions::serve_graphql_ws()` function for custom processing the legacy `graphql-ws` GraphQL over WebSocket Protocol
- provide `examples/simple.rs` of default `juniper_axum` integration
- provide `examples/custom.rs` of custom `juniper_axum` integration

Additionally:
- fix `junper_actix` crate MSRV to 1.73
- add `test_post_with_variables()` case to integration `juniper::http::tests`

Co-authored-by: ilslv <ilya.solovyiov@gmail.com>
Co-authored-by: Christian Legnitto <LegNeato@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-09 11:57:00 +01:00
..
examples Improve WebSocket integration (#1191, #1022) 2023-09-21 23:24:41 +02:00
src Provide axum integration (#1088, #986, #1184) 2023-11-09 11:57:00 +01:00
Cargo.toml Provide axum integration (#1088, #986, #1184) 2023-11-09 11:57:00 +01:00
CHANGELOG.md Use actix-ws for juniper_actix subscriptions (#1197) 2023-10-24 17:59:36 +00:00
LICENSE Rework CI and project toolchain (#1043) 2022-04-08 17:44:50 +03:00
README.md Provide axum integration (#1088, #986, #1184) 2023-11-09 11:57:00 +01:00
release.toml Improve CI (#1113) 2022-10-21 16:07:17 +00:00

juniper_actix crate

Crates.io Documentation CI Rust 1.73+

actix-web web server integration for juniper (GraphQL implementation for Rust).

It's inspired and some parts are copied from juniper_warp crate.

Documentation

For documentation, including guides and examples, check out Juniper Book.

A basic usage example can also be found in the API docs.

Examples

Check examples/subscription.rs for example code of a working actix-web server with GraphQL handlers.

License

This project is licensed under BSD 2-Clause License.