Must res.end() be called in express with node.js?

express, node.js

Solution

The answer to your question is no. You don't have to call `res.end()` if you call `res.send()`. `res.send()` calls `res.end()` for you.

Taken from /lib/response.js, here is the end of the `res.send()` function:

  //. . .
  // respond
  this.end(head ? null : body);
  return this;
}

Problem

I have several Express applications, and I see that in some modules, `res.end()` is called at the end of a request handler (after `res.send` or `res.json`), while in others, it isn't called. For example: ``` app.get('/test', function(req, res) { res.send('Test', 200); }); ``` or: ``` app.get('/test', function(req, res) { res.send('Test', 200); res.end(); }); ``` Both cases work, but I'm afraid about leaks or running out file descriptors or something like that, when I run many requests. Which one is "more correct"?

Original source