- rework `make_graphql_filter()` and `make_graphql_filter_sync()` to execute `context_extractor` only once
- handle all non-recoverable `Rejection`s in `make_graphql_filter()` and `make_graphql_filter_sync()`
- relax requirement for `context_extractor` to be a `BoxedFilter` only
- remove `JoinError` from public API
- provide example of fallible `context_extractor` in `make_graphql_filter()` API docs
Additionally:
- split `juniper_warp` modules into separate files
- add @tyranron as `juniper_warp` co-author
- consider `juniper_graphql_transport_ws` crate on CI
- implement auto-selection of protocol in `juniper_warp` crate
- support `graphql-transport-ws` protocol in `juniper_actix` crate
- implement auto-selection of protocol in `juniper_actix` crate
Additionally:
- move `examples/warp_subscriptions` into `juniper_warp/examples/subscription.rs`
- move `examples/actix_subscriptions` into `juniper_actix/examples/subscription.rs`
- move `examples/basic_subscriptions` into `juniper_subscriptions/examples/basic.rs`
- bump up MSRV of `juniper_actix` crate to 1.68
- remove `cargo-make` integration
- rework CI pipeline more granular and precise
- rework releasing process
- tune up project layout
- fill up new CHANGELOGs
Additionally:
- fix latest nightly/stable Rust inconsistencies
* Support 'application/graphql' POST requests for 'juniper_warp'
* Add integration tests for 'application/graphql' POST requests and revive HttpIntegration test suite for 'juniper_warp'
* Support 'application/graphql' POST requests for 'juniper_hyper' and run its tests for both sync and async versions
* Run integration tests for both sync and async versions of 'juniper_warp' and update its CHANGELOG
* Support 'application/graphql' POST requests for 'juniper_iron'
* Fix 'application/graphql' POST requests support for 'juniper_actix'
* Support 'application/graphql' POST requests in 'juniper_rocket' and 'juniper_rocket_async'
* Upd juniper's CHANGELOG
* Add subscriptions support on GraphiQL
Addresses #501
BREAKING CHANGE: `juniper::http::graphiql::graphiql_source` now requires
a second parameter
BREAKING CHANGE: `juniper_hyper::graphiql` now requires
a second parameter
BREAKING CHANGE: `juniper_iron::GraphiQLHandler::new` now requires
a second parameter
BREAKING CHANGE: `juniper_rocket::graphiql_source` now requires
a second parameter
BREAKING CHANGE: `juniper_warp::graphiql_filter` now requires
a second parameter
* Add test where graphiql subscriptions endpoint is not None