https://github.com/aircastdev/glimesh-rs
Rust client for performing queries, mutations, and subscriptions against the Glimesh API.
https://github.com/aircastdev/glimesh-rs
glimesh grapqhl rust rust-crate rust-lang
Last synced: about 2 months ago
JSON representation
Rust client for performing queries, mutations, and subscriptions against the Glimesh API.
- Host: GitHub
- URL: https://github.com/aircastdev/glimesh-rs
- Owner: AircastDev
- License: apache-2.0
- Created: 2021-03-22T18:45:30.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-03-21T14:44:03.000Z (about 2 years ago)
- Last Synced: 2025-04-12T23:36:35.658Z (about 2 months ago)
- Topics: glimesh, grapqhl, rust, rust-crate, rust-lang
- Language: Rust
- Homepage: https://docs.rs/glimesh/
- Size: 78.1 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# glimesh-rs
 [](https://crates.io/crates/glimesh) [](https://docs.rs/glimesh)
A wrapper around [graphql_client](https://github.com/graphql-rust/graphql-client) for easier use with [Glimesh](https://glimesh.tv). This is currently a work in progress, and should be considered beta, but it is being used to power [Oaty](https://oaty.app) in production.
## Features
- Queries
- Mutations
- Subscriptions
- HTTP or Websocket connection
- Automatic access token refreshing
- Reconnect and resubscribe to subscriptions on socket failure## Example
More examples can be found in the `examples/` directory.
```rust
#[derive(GraphQLQuery)]
#[graphql(
schema_path = "examples/graphql/schema.json",
query_path = "examples/graphql/user_details.graphql",
response_derives = "Debug"
)]
pub struct UserDetailsQuery;let auth = Auth::client_id(client_id);
let conn = Connection::new(auth);
let client = conn.into_client();let res = client
.query::(
user_details_query::Variables {
username: "James".into(),
}
)
.await?;let user = res.user;
println!("User details: {:#?}", user);
```## License
Licensed under either of
- Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)at your option.
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.