1.1.0 • Published 6 years ago

body-parser-graphql v1.1.0

Weekly downloads
21,827
License
MIT
Repository
github
Last release
6 years ago

body-parser-graphql npm

semantic-releaseCircleCICode ClimateCoverallsRenovate badge
Express body-parser that supports the application/graphql MIME type.

How does it work?

body-parser-graphql checks the Content-Type header of the request. If the Content-Type is application/graphql, the request is transformed into a 'normal' application/json GraphQL request, and the Content-Type header is set to application/json.

Received request:

{
  posts {
    id
    title
  }
}

request.body value after the middleware:

{
  query: {
    posts {
      id
      title
    }
  }
}

If an application/json request is received, it applies the JSON body-parser.

Installation

Install body-parser-graphql using your favorite package manager:

$ yarn add body-parser-graphql
$ npm install body-parser-graphql

Usage

The body-parser-graphql can be used as a drop-in replacement for the normal json body-parser.

import * as express from 'express'
- import * as bodyParser from 'body-parser'
+ import * as bodyParser from 'body-parser-graphql'

const app = express()

- app.use(bodyParser.json())
+ app.use(bodyParser.graphql())

// Your express routes

app.listen(/* your configuration */)

Alternatively, you can also import the body-parser directly:

import { bodyParserGraphQL } from 'body-parser-graphql'

app.use(bodyParserGraphQL())