Crate glimesh[][src]

A wrapper around graphql_client for easier use with Glimesh. This is currently a work in progress, and should be considered beta, but it is being used to power Oaty in production.

Features

  • Queries
  • Mutations
  • Http based connection

Example

More examples can be found in the examples/ directory.

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "examples/schema.json",
    query_path = "examples/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::<UserDetailsQuery>(
        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 or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (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.

Modules

http

Connection over http using reqwest.

Structs

Client

Glimesh client. The client is generic over its connection/transport, meaning it can be used with http or websockets (or any future transport Glimesh might support).

Enums

Auth

Authentication method. The Glimesh API requires an authentication method to be used. The most basic is the ClientId method, which gives you read only access to the api.

Error

Errors that can occur when interacting with the Glimesh API.

Traits

MutationConn

Connections that implement this support graphql mutations.

QueryConn

Connections that implement this support graphql queries.

SubscriptionConn

Connections that implement this support graphql subscriptions.