Skip to content

A Fastify plugin to parse x-www-form-urlencoded bodies

License

Notifications You must be signed in to change notification settings

upnica/fastify-formbody

 
 

Repository files navigation

fastify-formbody

NPM version NPM downloads Build Status JavaScript Style Guide codecov Known Vulnerabilities Greenkeeper badge

A simple plugin for Fastify that adds a content type parser for the content type application/x-www-form-urlencoded.

Example

Given the following code:

const fastify = require('fastify')()

fastify.register(require('fastify-formbody'))

fastify.post('/', (req, reply) => {
  reply.send(req.body)
})

fastify.listen(8000, (err) => {
  if (err) throw err
})

And a POST body of:

foo=foo&bar=bar&answer=42

The sent reply would be the object:

{
  foo: 'foo',
  bar: 'bar',
  answer: 42
}

Options

The plugin accepts an options object with the following properties:

  • bodyLimit: the maximum amount of bytes to process before returning an error. If the limit is exceeded, a 500 error will be returned immediately. When set to undefined the limit will be set to whatever is configured on the parent Fastify instance. The default value is whatever is configured in fastify (1048576 by default).

  • multipart: provides settings for the multipart content type, this would include onlyBuffer (defaults to true) which would only provide the buffer to the body, otherwise the buffer and filename are provided. Additionally, Busboy settings can be applied here

License

Licensed under MIT

About

A Fastify plugin to parse x-www-form-urlencoded bodies

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 97.1%
  • TypeScript 2.9%