finalhandler
Node.js function to invoke as the final step to respond to HTTP request.
Installation
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
$ npm install finalhandler
API
var finalhandler =
finalhandler(req, res, [options])
Returns function to be invoked as the final step for the given req
and res
.
This function is to be invoked as fn(err)
. If err
is falsy, the handler will
write out a 404 response to the res
. If it is truthy, an error response will
be written out to the res
.
When an error is written, the following information is added to the response:
- The
res.statusCode
is set fromerr.status
(orerr.statusCode
). If this value is outside the 4xx or 5xx range, it will be set to 500. - The
res.statusMessage
is set according to the status code. - The body will be the HTML of the status code message if
env
is'production'
, otherwise will beerr.stack
. - Any headers specified in an
err.headers
object.
The final handler will also unpipe anything from req
when it is invoked.
options.env
By default, the environment is determined by NODE_ENV
variable, but it can be
overridden by this option.
options.onerror
Provide a function to be called with the err
when it exists. Can be used for
writing errors to a central location without excessive function generation. Called
as onerror(err, req, res)
.
Examples
always 404
var finalhandler = var http = var server = http server
perform simple action
var finalhandler = var fs = var http = var server = http server
use with middleware-style functions
var finalhandler = var http = var serveStatic = var serve = var server = http server
keep log of all errors
var finalhandler = var fs = var http = var server = http server { console}