@fastify/accepts
TypeScript icon, indicating that this package has built-in type declarations

5.0.2 • Public • Published

@fastify/accepts

CI NPM version neostandard javascript style

Add an accepts parser to Fastify.

Install

npm i @fastify/accepts

Compatibility

Plugin version Fastify version
^5.x ^5.x
^4.x ^4.x
^2.x ^3.x
^1.x ^2.x
^1.x ^1.x

Please note that if a Fastify version is out of support, then so are the corresponding version(s) of this plugin in the table above. See Fastify's LTS policy for more details.

Usage

const fastify = require('fastify')
const Boom = require('@hapi/boom')

fastify.register(require('@fastify/accepts'))

fastify.post('/', function (req, reply) {
  const accept = req.accepts() // Accepts object
  switch(accept.type(['json', 'html'])) {
    case 'json':
      reply.type('application/json').send({hello: 'world'})
      break
    case 'html':
      reply.type('text/html').send('<b>hello, world!</b>')
      break
    default:
      reply.send(Boom.notAcceptable('unacceptable'))
      break
  }
})

See accepts package for all available APIs.

This plugin adds to Request object all Accepts object methods.

fastify.post('/', function (req, reply) {
  req.charset(['utf-8'])
  req.charsets()
  req.encoding(['gzip', 'compress'])
  req.encodings()
  req.language(['es', 'en'])
  req.languages()
  req.type(['image/png', 'image/tiff'])
  req.types()
})

Options

  • decorateReply If true, the Reply object will be decorated with the requestAccepts, requestTypes, requestCharsets, requestEncodings, and requestLanguages methods, which will return the corresponding values from the Request object. Default: false.

License

Licensed under MIT.

Readme

Keywords

none

Package Sidebar

Install

npm i @fastify/accepts

Weekly Downloads

44,397

Version

5.0.2

License

MIT

Unpacked Size

19 kB

Total Files

13

Last publish

Collaborators

  • starptech
  • simoneb
  • coopflow
  • delvedor
  • matteo.collina
  • allevo
  • jsumners
  • zekth
  • rafaelgss
  • eomm
  • fox1t
  • airhorns
  • kibertoad
  • climba03003
  • galvez
  • simenb
  • gurgunday
  • metcoder95
  • fdawgs