0.1.0 • Published 7 years ago
graphql-factory-express v0.1.0
GraphQL Factory Express
Creates graphql-factory
middleware for express and provides a basic bodyParser
middleware
Example
import express from 'express'
import * as graphql from 'graphql'
import GraphQLFactory from 'graphql-factory'
import factoryExpress from 'graphql-factory-express'
import definition from './definition'
const factory = GraphQLFactory(graphql)
const lib = factory.make(definition)
const PORT = 8080
const app = express()
app.use(factoryExpress.bodyParser)
app.use('/graphql', factoryExpress(lib, {
rootValue (value, req) {
value.jwt = req.token
}
}))
app.listen(PORT, err => {
if (err) {
console.log(err)
process.exit(1)
}
console.log('Server started on port:', PORT)
})
API
GQLFactoryExpress (lib:GQLFactoryLibrary
, [options:Object]
)
Creates a new middleware
Parameters
lib
- GraphQL Factory Library containing schema helper methods[options]
timeout=10000
{Int
}- Timeout in ms before a request fails with a timeout errorrootValue
{Object|Function
} - Object or function used to modify therootValue
before the request is sent. Function takes (value
,request
) as argumentscontextValue
{Object|Function
} - Object or function used to modify thecontextValue
before the request is sent. Function takes (value
,request
) as argumentsvariableValues
{Object|Function
} - Object or function used to modify thevariableValues
before the request is sent. Function takes (value
,request
) as arguments
.bodyParser (req:Request
, res:Response
, next:Function
)
Creates a new bodyParser, uses same parameters as the body-parser
module except only parses
JSON
Request Body
Requests must be sent using the POST
method with a JSON formatted body containing and object
with the following fields
schema
- Name of the schema to make the request onrequestString
- The graphql request stringrootValue
- OptionalrootValue
contextValue
- OptionalcontextValue
variableValues
- OptionalvariableValues
operationName
- OptionaloperationName
Successful requests will return with a 200
status code with a JSON formatted body
0.1.0
7 years ago