HTTP Server: check the ready state of the connection before each send.
authorRyan <ry@tinyclouds.org>
Mon, 18 May 2009 12:02:50 +0000 (14:02 +0200)
committerRyan <ry@tinyclouds.org>
Mon, 18 May 2009 12:02:50 +0000 (14:02 +0200)
src/http.js

index b70b20a..ac2de94 100644 (file)
@@ -72,6 +72,12 @@ node.http.Server = function (RequestHandler, options) {
     //   is wasteful. *I think* its rather faster to concat inside of JS
     // Thus I attempt to concat as much as possible.  
     function send (data) {
+      if (connection.readyState === "closed" || connection.readyState === "readOnly")
+      {
+        responses = [];
+        return;
+      }
+
       if (output.length == 0) {
         output.push(data);
         return;
@@ -267,7 +273,8 @@ node.http.Server = function (RequestHandler, options) {
     };
   }
 
-  this.__proto__.__proto__ = new node.http.LowLevelServer(ConnectionHandler, options);
+  this.__proto__.__proto__ =
+    new node.http.LowLevelServer(ConnectionHandler, options);
 };
 
 node.http.Client = function (port, host) {