graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hasura.GraphQL.RemoteServer

Synopsis

Documentation

fetchRemoteSchema :: forall m. (MonadIO m, MonadError QErr m, MonadTrace m, ProvidesNetwork m) => Environment -> ValidatedRemoteSchemaDef -> m (IntrospectionResult, ByteString, RemoteSchemaInfo) Source #

Make an introspection query to the remote graphql server for the data we need to present and stitch the remote schema. This powers add_remote_schema, and also is called by schema cache rebuilding code in Hasura.RQL.DDL.Schema.Cache.

stitchRemoteSchema :: (MonadIO m, MonadError QErr m) => ByteString -> ValidatedRemoteSchemaDef -> m (IntrospectionResult, RemoteSchemaInfo) Source #

Parses the remote schema introspection result, and check whether it looks like it's a valid GraphQL endpoint even under the configured customization.

execRemoteGQ Source #

Arguments

:: (MonadIO m, MonadError QErr m, MonadTrace m, ProvidesNetwork m) 
=> Environment 
-> UserInfo 
-> [Header] 
-> ValidatedRemoteSchemaDef 
-> GQLReqOutgoing 
-> m (DiffTime, [Header], ByteString)

Returns the response body and headers, along with the time taken for the HTTP request to complete

Sends a GraphQL query to the given server.

newtype FromIntrospection a Source #

Parsing the introspection query result. We use this newtype wrapper to avoid orphan instances and parse JSON in the way that we need for GraphQL introspection results.

Constructors

FromIntrospection 

Fields

Instances

Instances details
Functor FromIntrospection Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

FromJSON (FromIntrospection IntrospectionResult) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

FromJSON (FromIntrospection Description) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

FromJSON (FromIntrospection EnumValueDefinition) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

FromJSON (FromIntrospection a) => FromJSON (FromIntrospection (FieldDefinition a)) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

FromJSON (FromIntrospection GType) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

FromJSON (FromIntrospection InputValueDefinition) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

FromJSON (FromIntrospection (TypeDefinition [Name] InputValueDefinition)) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

FromJSON (FromIntrospection (Value Void)) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

Generic (FromIntrospection a) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

Associated Types

type Rep (FromIntrospection a) :: Type -> Type #

Show a => Show (FromIntrospection a) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

Eq a => Eq (FromIntrospection a) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

type Rep (FromIntrospection a) Source # 
Instance details

Defined in Hasura.GraphQL.RemoteServer

type Rep (FromIntrospection a) = D1 ('MetaData "FromIntrospection" "Hasura.GraphQL.RemoteServer" "graphql-engine-1.0.0-inplace" 'True) (C1 ('MetaCons "FromIntrospection" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromIntrospection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))