[][src]Struct juniper_iron::GraphQLHandler

pub struct GraphQLHandler<'a, CtxFactory, Query, Mutation, CtxT, S = DefaultScalarValue> where
    S: ScalarValue,
    &'b S: ScalarRefValue<'b>,
    CtxFactory: Fn(&mut Request) -> IronResult<CtxT> + Send + Sync + 'static,
    CtxT: 'static,
    Query: GraphQLType<S, Context = CtxT> + Send + Sync + 'static,
    Mutation: GraphQLType<S, Context = CtxT> + Send + Sync + 'static, 
{ /* fields omitted */ }

Handler that executes GraphQL queries in the given schema

The handler responds to GET requests and POST requests only. In GET requests, the query should be supplied in the query URL parameter, e.g. http://localhost:3000/graphql?query={hero{name}}.

POST requests support both queries and variables. POST a JSON document to this endpoint containing the field "query" and optionally "variables". The variables should be a JSON object containing the variable to value mapping.

Methods

impl<'a, CtxFactory, Query, Mutation, CtxT, S> GraphQLHandler<'a, CtxFactory, Query, Mutation, CtxT, S> where
    S: ScalarValue + 'a,
    &'b S: ScalarRefValue<'b>,
    CtxFactory: Fn(&mut Request) -> IronResult<CtxT> + Send + Sync + 'static,
    CtxT: 'static,
    Query: GraphQLType<S, Context = CtxT, TypeInfo = ()> + Send + Sync + 'static,
    Mutation: GraphQLType<S, Context = CtxT, TypeInfo = ()> + Send + Sync + 'static, 
[src]

pub fn new(
    context_factory: CtxFactory,
    query: Query,
    mutation: Mutation
) -> Self
[src]

Build a new GraphQL handler

The context factory will receive the Iron request object and is expected to construct a context object for the given schema. This can be used to construct e.g. database connections or similar data that the schema needs to execute the query.

Trait Implementations

impl<'a, CtxFactory, Query, Mutation, CtxT, S> Handler for GraphQLHandler<'a, CtxFactory, Query, Mutation, CtxT, S> where
    S: ScalarValue + Sync + Send + 'static,
    &'b S: ScalarRefValue<'b>,
    CtxFactory: Fn(&mut Request) -> IronResult<CtxT> + Send + Sync + 'static,
    CtxT: 'static,
    Query: GraphQLType<S, Context = CtxT, TypeInfo = ()> + Send + Sync + 'static,
    Mutation: GraphQLType<S, Context = CtxT, TypeInfo = ()> + Send + Sync + 'static,
    'a: 'static, 
[src]

Auto Trait Implementations

impl<'a, CtxFactory, Query, Mutation, CtxT, S> Send for GraphQLHandler<'a, CtxFactory, Query, Mutation, CtxT, S> where
    S: Send,
    <Mutation as GraphQLType<S>>::TypeInfo: Send,
    <Query as GraphQLType<S>>::TypeInfo: Send

impl<'a, CtxFactory, Query, Mutation, CtxT, S> Sync for GraphQLHandler<'a, CtxFactory, Query, Mutation, CtxT, S> where
    S: Sync,
    <Mutation as GraphQLType<S>>::TypeInfo: Sync,
    <Query as GraphQLType<S>>::TypeInfo: Sync

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<F> Handler for F where
    F: Send + Sync + 'static + Fn(&mut Request) -> Result<Response, IronError>, 
[src]

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<T> UnsafeAny for T where
    T: Any

impl<T> PersistentInto<Arc<Mutex<T>>> for T

impl<T> PersistentInto<Arc<RwLock<T>>> for T

impl<T> PersistentInto<T> for T

impl<T> PersistentInto<Arc<T>> for T