A handy little decorator for adding domain functionality to your HTTP server's request and response objects.
var dhs = require('domain-http-server')
http.createServer(function (req, res) {
dhs(req, res, { close: true, callback: errorHandler })
// proceed to do stuff.
});
// express style
app.use(dhs)
// close the server on errors
app.use(dhs.defaults({ close: true });
// call a specific callback on errors
app.use(dhs.defaults({ callback: errorHandler })
close
Boolean, default=true. Close the server when there's an error, so that it stops accepting requests. This is handy when running as part of a cluster, so that unknown-state processes can be cleaned up and replaced.enter
Boolean, default=true. Enter the domain immediately, so that errors thrown in the server's request handler will be caught.exit
Boolean, default=true. Exit the domain when there's an error.callback
Function. A function that will be called when an error occurs.
Also, if the response has an error
member which is a function, then
it'll call that when there's an error.
If there's no res.error
method, and there's no callback
option,
then it'll throw the error.
dhs(req, res, options, next)
Attach the domain to the request and response. Options object is optional.next
callback is there for the benefit of express-style middleware usage.dhs.defaults(options)
Return a dhs function that'll use the supplied options.