ukayani / restify-router

A router interface for restify that lets you aggregate route definitions and apply to a restify server
MIT License
52 stars 15 forks source link

Error handler is always executed #22

Open henryjw opened 5 years ago

henryjw commented 5 years ago

Does this library support adding error-handling middleware via router.use()? I'm trying to create a generic handler for a router, but it's being executed before the route handlers.

Example:

app.get('/api/data', function dataHandler(req, res, next) {
    // Process request
});

// Always executes before `dataHandler()`. 
app.use(function errorHandler(err, req, res, next) {
    // Handle error
});
ukayani commented 5 years ago

Hi @henryjw , handlers registered via the .use method will always run before route handlers. The router interface just proxies the behaviour of the restify server. The .use method on the server is meant to add handlers which execute before route handlers. From what I understand, you wish to add a post route handler?

henryjw commented 5 years ago

Thanks for the quick response @ukayani. Yup, a post route handler is basically what I'm looking for. Is there a way to implement that with this library?

ukayani commented 5 years ago

At the moment there is no such feature. It should not be too hard to add it though. I'll try to take a look over the weekend.

henryjw commented 5 years ago

Thanks!