Express.js close response

Matej picture Matej · Nov 25, 2012 · Viewed 26.1k times · Source

Is there a way to close a response? I can use res.end() but it doesn't actually close the socket.

What I want to achieve: I am writing a Java program which interfaces with the network, and I am writing a node.js server for this. Java code:

String line;
while((line = in.readLine()) != null) {
    System.out.println("RES: "+line);
}

But this just keeps hanging.. No end connection, still waiting for input from the socket.

Node:

exports.getAll = function (req, res) {
    res.set("Content-Type", "text/plain");
    res.set(200);
    res.send(..data..);
    res.end();
}

however res.end() does not close the connection.. As said before, java keeps thinking there will be something next so it is stuck in the while loop.

Thank you

Answer

Matej picture Matej · Nov 25, 2012

Solved by setting a HTTP header to close the connection instead of default keep-alive strategy.

res.set("Connection", "close");