[][src]Crate async_graphql

The GraphQL server library implemented by rust

Crates.io version Download docs.rs docs

Documentation

Features

  • Fully support async/await
  • Type safety
  • Rustfmt friendly (Procedural Macro)
  • Custom scalar
  • Minimal overhead
  • Easy integration (hyper, actix_web, tide ...)
  • Upload files (Multipart request)
  • Subscription (WebSocket transport)
  • Custom extension
  • Apollo Tracing extension
  • Limit query complexity/depth
  • Error Extensions
  • Apollo Federation

Integrations

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.

References

Modules

extensions

Extensions for schema

http

A helper module that supports HTTP

validators

Input value validators

Macros

impl_scalar

After implementing the Scalar trait, you must call this macro to implement some additional traits.

Structs

Any

Any scalar

CacheControl

Cache control values

Connection

Connection type

ContextBase

Query context

Data

Schema/Context data

EmptyEdgeFields

Empty edge extension object

EmptyMutation

Empty mutation

EmptySubscription

Empty subscription

FieldError

FieldError type

ID

ID scalar

IntoQueryBuilderOpts

IntoQueryBuilder options

Pos

Original position of element in source code

QueryBuilder

Query builder

QueryPathNode

The query path node

QueryResponse

Query response

Schema

GraphQL schema

SimpleBroker

A simple broker based on memory

SubscriptionStream
SubscriptionStreams

Use to hold all subscription stream for the SubscriptionConnection

Upload

Uploaded file

Variables

Variables of query

WebSocketTransport

WebSocket transport

Enums

Error
ParseRequestError
QueryError

Error for query

QueryOperation

Connection query operation

QueryPathSegment

The query path segment

ValidationMode

Validation mode

Value

Traits

DataSource

Data source of GraphQL Cursor Connections type

ErrorExtensions
IntoQueryBuilder
ResultExt
Scalar

Represents a GraphQL scalar

SubscriptionTransport

Subscription transport

Type

Represents a GraphQL type

Type Definitions

Context

Context object for resolve field

FieldResult

FieldResult type

Result

Result type, are actually anyhow::Result<T>

Attribute Macros

DataSource

Define a DataSource

Enum

Define a GraphQL enum

InputObject

Define a GraphQL input object

Interface

Define a GraphQL interface

Object

Define a GraphQL object

SimpleObject

Define a GraphQL object

Subscription

Define a GraphQL subscription

Union

Define a GraphQL union