15 stable releases

new 3.6.1 Apr 15, 2024
3.6.0 Apr 12, 2024
3.5.0 Mar 25, 2024
3.4.3 Jan 22, 2024
3.2.2 Jun 26, 2023

#235 in HTTP server

Download history 35/week @ 2024-01-05 2/week @ 2024-01-12 79/week @ 2024-01-19 5/week @ 2024-01-26 49/week @ 2024-02-16 39/week @ 2024-02-23 5/week @ 2024-03-01 19/week @ 2024-03-08 9/week @ 2024-03-15 118/week @ 2024-03-22 78/week @ 2024-03-29 86/week @ 2024-04-05

292 downloads per month

MPL-2.0 license

385KB
8K SLoC

cynic-cli

A CLI for Cynic, the code first GraphQL client for Rust

Crate Info API Docs Discord Chat

Documentation | Changelog

Overview

Cynic is a code first GraphQL client for Rust. cynic-cli is a CLI that provides utilities for working with cynic specifically and GraphQL in general.

Features

  • Can introspect a remote server and dump it's schema.
  • Intelligent feature detection for introspection - checks which features a server supports and only introspects for those.

Usage

$ cynic help
A CLI for cynic, a code first GraphQL client for Rust

Usage: cynic [COMMAND]

Commands:
  introspect  Runs an introspection query against a GraphQL server and outputs the servers schema
  querygen    Runs querygen that allows you to generate Rust code from a schema and for a query
  help        Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Introspect

The introspect command runs an introspection query against a server and prints the schema to stdout/a file.

$ cynic help introspect
Runs an introspection query against a GraphQL server and outputs the servers schema

Usage: cynic introspect [OPTIONS] <URL>

Arguments:
  <URL>
          The URL of the GraphQL schema that we should introspect

Options:
  -H, --header <HEADERS>
          Any headers to send with the introspection request
          
          These should be in HTTP format e.g. `-H "Authorization: Bearer a_token_123"`

  -o, --output <OUTPUT>
          The name of a file we should output the schema into.
          
          By default we print to stdout.

      --server-version <SERVER_VERSION>
          The version of the GraphQL specificaiton that the remote GraphQL server implements
          
          Different versions of GraphQL expose different fields via introspection, so we need to know which set of fields to ask for.
          
          By default we run an additional query to figure out what the server we're talking to supports.
          
          [default: auto]

          Possible values:
          - 2018: Run an introspection query compatible with the 2018 GraphQL specification
          - 2021: Run an introspection query compatible with the 2021 GraphQL specification
          - auto: Run an additional query to determine what the GraphQL server supports

  -h, --help
          Print help (see a summary with '-h')

Dependencies

~11–25MB
~351K SLoC