RFC 7240 defines an HTTP header field that can be used by a client to request that certain behaviors be employed by a server while processing a request.
This package parses the HTTP Request and makes the prefer
headers a keyed property of req.prefer
.
$ npm install express-prefer --save
then add to your server.js
file
app.use(require('express-prefer'))
Given the following Request
PATCH /my-document HTTP/1.1
Host: example.org
Content-Type: application/json-patch+json
Prefer: return=representation
[{"op": "add", "path": "/a", "value": 1}]
then
app.patch('/:doc', (req,res,next) => {
// Apply the patch ...
// What should we return?
if (req.prefer.return == 'representation')
res.status(200).send(doc).end();
else
res.status(204).end();
})
The MIT license
Copyright © 2015 Richard Schneider (makaretu@gmail.com)