Node.js function to invoke as the final step to respond to HTTP request.
$ npm install finalhandler
var finalhandler = require('finalhandler')
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
, and res.statusCode
is set from err.status
.
The final handler will also unpipe anything from req
when it is invoked.
By default, the environment is determined by NODE_ENV
variable, but it can be overridden by this option.
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)
.
var finalhandler = require('finalhandler') var http = require('http') var server = http.createServer(function (req, res) { var done = finalhandler(req, res) done() }) server.listen(3000)
var finalhandler = require('finalhandler') var fs = require('fs') var http = require('http') var server = http.createServer(function (req, res) { var done = finalhandler(req, res) fs.readFile('index.html', function (err, buf) { if (err) return done(err) res.setHeader('Content-Type', 'text/html') res.end(buf) }) }) server.listen(3000)
var finalhandler = require('finalhandler') var http = require('http') var serveStatic = require('serve-static') var serve = serveStatic('public') var server = http.createServer(function (req, res) { var done = finalhandler(req, res) serve(req, res, done) }) server.listen(3000)
var finalhandler = require('finalhandler') var fs = require('fs') var http = require('http') var server = http.createServer(function (req, res) { var done = finalhandler(req, res, {onerror: logerror}) fs.readFile('index.html', function (err, buf) { if (err) return done(err) res.setHeader('Content-Type', 'text/html') res.end(buf) }) }) server.listen(3000) function logerror(err) { console.error(err.stack || err.toString()) }